Themes for ISPConfig

Discussion in 'Developers' Forum' started by Nephi, Sep 16, 2023.

  1. Nephi

    Nephi New Member

    I know its sounds like whipping a dead horse in terms of building a theme.
    I have started a new dark theme based on Bootstrap 5.3; Font-Awesome 6.4; and I was wondering if I can get some feedback on it. Its a work in progress, things are missing (like the side bars, content, etc.).

    I do have some developer questions....
    • Why is there 3 instances of the vLib template library (install, interface, server).
      • If I am making changes there, do I need to replicate on all of them?
      • Also what is the difference between the 3 sections?
      • How do I set the default theme for the login page as well?
    if you want to look at it yourself - github/Nephiaust/ISPconfig-themes (please note, I am not a developer and I am just hacking things together).
    Some screenshots of what I have done so far.

    upload_2023-9-16_17-59-2.png

    upload_2023-9-16_17-59-26.png

    upload_2023-9-16_18-0-10.png

    upload_2023-9-16_18-0-31.png
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    Because The interface, server and installer are independent parts of the software.

    if you build a theme, then you must modify the interface only.

    interface = The interface (GUI)
    server = The server part (not GUI, the part that runs as cronjob to configure the system)
    install = The ISPConfig installer, used to install and update ISPConfig.

    Btw. Why do you want to change vlib templating system? There should be no need to touch this for building themes.

    in the ISPConfig interface configuration file: /usr/local/ispconfig/interface/lib/config.inc.php But I would recommend to change /usr/local/ispconfig/server/lib/config.inc.php as well to make your change update safe.
     
  3. Nephi

    Nephi New Member

    Was looking at the code, trying to work out an error in the parsing (it was a bug with my original theme conversion). Started some minor cleanup work but nothing worthwhile mentioning; like removing commented out code, fixing alignments, that type of thing.

    Would it be worthwhile putting a feature request and then looking to see if I can add the code to pull that configuration from the database; so that the user can configure it in the system and its upgrade safe + have the default fail to the current default theme.
     
  4. Nephi

    Nephi New Member

    Was also thinking about adding another encoding/conversion case to allow it to strip out the spaces in the variables to make them work as IDs in the HTML or CSS code directly. Instead of relying on the url parsing to convert the [space] to a [plus] and hope it works.

    (doesnt seem to allow me to edit that section in)
     
  5. till

    till Super Moderator Staff Member ISPConfig Developer

    Sure, would be nice to be able to set it under system > interface > main config.
     
  6. Nephi

    Nephi New Member

    Just created the issue #6578, it also seems that #5859 & #6388 would fit in it as well. I have mentioned them in my issue.
     
    ahrasis and till like this.
  7. till

    till Super Moderator Staff Member ISPConfig Developer

    I've added some hints to implement this to the git issue.
     
    Nephi likes this.
  8. Taleman

    Taleman Well-Known Member HowtoForge Supporter

  9. Nephi

    Nephi New Member

  10. Nephi

    Nephi New Member

    Do either of you know, where the content_tpl is being pulled from?
    The code from
    Code:
    tabbed_form.tpl.htm
    is below but there isnt anything from the templates being loaded. I even added a comment to each file declaring it's name so I could find it easier but nothing.
    HTML:
            <div id="tabbox_content" class="bg-info-subtle">
                <div>
                    {tmpl_dyninclude name="content_tpl"}
                </div>
            </div>
    
    upload_2023-9-17_0-23-0.png
     
  11. till

    till Super Moderator Staff Member ISPConfig Developer

    Most of the interface is loaded using ajax calls. The UI is basically an empty base page that gets loaded with a content area at the top, a small content area on the left side and the main content area on the right side. All three content areas are filled via Ajax requests to interface/web/nav.php (content for the top and left nav menu) and to interface/web/content.php (content for the main content area). So tabbed_form.tpl is loaded via content.php, which then includes the actual page (line 63) and most pages are then rendered by the class interface/lib/classes/tform_actions.inc.php
     
    ahrasis likes this.
  12. Finallf

    Finallf New Member

    I think the default/official theme should have a dark mode option.
    That would already make it great.
     

Share This Page