Wprowadzenie

Theme Customizer jest wbudowanym w Framework EF4 narzędziem, które pozwala na zmianę stylów LESS powiązanych z wygladem szablonu bez potrzeby edycji plików szablonu.
Wszystkie zmiany możesz podejrzeć na stronie używając łatwego w użyciu panelu. Możesz również zapisać zmiany bezpośrednio w parametrach szablonu.

 

Theme Customizer Introduce

 

Narzędzie to pozwala zmienić wygląd szablonu szybko i łatwo.

 

Konfiguracja

Włączenie panelu

Najpier włącz panel Theme Customizer.
Znajdziesz go w zapleczu szablonu:

Extensions -> Template Manager -> [template_name]

Wejdź w zakładkę Advanced Features. Zobaczysz w niej parametry Theme Customizer:

 

Theme Customizer Configuration

 

Dostosowanie i podgląd zmian

Theme Customizer na froncie strony:

 

Theme Customizer Configuration

 

Zapisywanie ustawień

Po zalogowaniu do Theme Customizer zobaczysz dodatkowe przyciski zapisywania ustawień:

 

Theme Customizer Configuration

 

1. Save.

Po kliknięciu tego przycisku ustawienia zostaną zapisane w bieżącym szablonie (domyślne style zostaną nadpisane)

2. Save as file.

Po kliknięciu przycisku "Save as file", ustawienia Theme Customizer'a zostaną zapisane w pliku konfiguracyjnym a ustawienia bieżącego szablonu pozostaną niezmienione. W razie potrzeby możesz załadować ustawienia z pliku konfiguracyjnego, nadpiszą one domyśle style szablonu. Można to zrobić w zakładce "Settings Storage" w parametrach szablonu:

 

Theme Customizer Configuration

 

Dodanie nowego parametru

W naszym przykładzie dodamy parametr zmiany tła koloru stopki. Aby wyświetlić parametr w narzędziu Theme Customizer, musi on istnieć w parametrach szablonu.

Dodanie nowego parametru to parametrów szablonu

Zacznijmy od stworzenia nowego pramateru w szablonie.

 

Krok 1: Dodanie styl do pliku LESS

Najpierw musimy dodać styl który będzie odpowiadał za kolor tła stopki:

#jm-footer {
background: @JMfooterBackground;
}

@JMfooterBackground – to zmienna LESS zawierająca informację o wybranym kolorze.

Styl powinien byc zapisany w pliku layout.less ponieważ ten plik zawiera wszystkie style związane z układem szablonu.

Uwaga: Nazwa zmiennej LESS musi zaczynać się od liter JM.

 

Krok 2: Zdefiniowanie parametru

Włącz edycję pliku templateDetails.xml znajdującego się w katalogu:

/templates/[template_name]/

Wszystkie parametry wyświetlane w zakładce Color Modifications znajdują się w poniższej grupie:

<fields name="params">
    <fieldset name="jmcolormodifications" label="PLG_SYSTEM_JMFRAMEWORK_CONFIG_FIELDSET_COLOR_MODIFICATIONS">
    <!-- PARAMETERS -->
    </fieldset>
</fields>

Po pierwsze, zdefiniuj nową sekcję dla naszego parametru:

<field name="spacer_name" type="spacer" label="PLG_SYSTEM_JMFRAMEWORK_CONFIG_FOOTER"/>

Następnie zdefiniuj sam parametr:

<field name="JMfooterBackground" default="" type="jmiriscolor" label="PLG_SYSTEM_JMFRAMEWORK_CONFIG_BG_COLOR" 
description="PLG_SYSTEM_JMFRAMEWORK_CONFIG_FOOTER_BG_DESC" />

Nazwa pola musi być taka sama jak nazwa zmiennej LESS. W naszym przykładzie to: JMfooterBackground.

 

Krok 3: Przechowanie nowego parametru

Włącz edycję pliku jm_template.phpznajdującego się w katalogu:

/templates/[template_name]/lib/

Dodaj poniższy kode:

$footerbackground = $this->params->get('JMfooterBackground', '#333333'); 
$bootstrap_vars['JMfooterBackground'] = $footerbackground;

$footerbackground - nazwa zmiennej PHP
JMfooterBackground - nazwa zmiennej LESS
#333333 - domyslna wartość zmiennej LESS

Przykład:

class JMTemplate extends JMFTemplate {
    public function postSetUp() {
        
        /*  put your code below other code within this class */
    
        $footerbackground = $this->params->get('JMfooterBackground', '#333333');
        $bootstrap_vars['JMfooterBackground'] = $footerbackground;
        
        /* make sure the following code is always the last one in this class */
        
        $this->params->set('jm_bootstrap_variables', $bootstrap_vars);
    
    }
}

 

Krok 4: Zdfiniowanie stałych językowych

Włącz edycję pliku en-GB.tpl_[template_name].ini znajdującego się w katalogu:

/templates/[template_name]/language/en-GB/

Zdefiniuj stałe językowe używane w naszym przykładzie:

PLG_SYSTEM_JMFRAMEWORK_CONFIG_FOOTER="Footer"
PLG_SYSTEM_JMFRAMEWORK_CONFIG_BG_COLOR="Background"
PLG_SYSTEM_JMFRAMEWORK_CONFIG_FOOTER_BG_DESC="Choose the footer background color instead of the white color."

Teraz nowy parametr będzie widoczny w zakładce Color Modifications:

 

Theme Customizer Add Parameter

 

Dadanie nowego parametru do Theme Customizer

Jesteśmy teraz gotowi do dodania nowego parametru w Theme Customizer.

 

Krok 1: Zdefiniowanie nowego parametru

Włącz edycję pliku templateDetails.xml znajdującego się w katalogu:

/templates/[template_name]/

Wszystkie parametry wyświetlane w Theme Customizer znajdują się w grupie:

<fields name="themecustomiser">
    <fieldset name="th-basic-settings" label="PLG_SYSTEM_JMFRAMEWORK_CONFIG_FIELDSET_COLOR_MODIFICATIONS">
        <!-- COLOR PARAMETERS -->
    </fieldset>
    <fieldset name="th-font-settings" label="PLG_SYSTEM_JMFRAMEWORK_CONFIG_FONT_SETTINGS_LABEL">
        <!-- FONT PARAMETERS -->
    </fieldset>
</fields>

Najpierw zdefiniuj sekcję dla nowego parametru:

<field type="jmacchelper" hidden="true" label="PLG_SYSTEM_JMFRAMEWORK_CONFIG_FOOTER" name="Footer" />

Następnie zdefiniuj parametr:

<field name="JMfooterBackground" default="" type="jmiriscolor" label="PLG_SYSTEM_JMFRAMEWORK_CONFIG_BG_COLOR" />

Nazwa pola musi być taka sama jak nazwa zmiennej LESS, w naszym przykładzie to: JMfooterBackground.

 

Krok 2: Zdefinuj stałe językowe

Włącz edycję pliku en-GB.tpl_[template_name].ini znajdującego się w katalogu:

/templates/[template_name]/language/en-GB/

Zdefiniuj stałe językowe używane w naszym przykładzie:

PLG_SYSTEM_JMFRAMEWORK_CONFIG_FOOTER="Footer"
PLG_SYSTEM_JMFRAMEWORK_CONFIG_BG_COLOR="Background"
PLG_SYSTEM_JMFRAMEWORK_CONFIG_FOOTER_BG_DESC="Choose the footer background color instead of the white color."

Uwaga: W naszym przykładzie stałe językowe są takie same dla parametrów szablonu i parametrów Theme Customizer, ale w razie potrzeby możesz zdefiniować różne.

Teraz nowy parametr jest widoczny w Theme Customizer:

 

Theme Customizer Add Parameter