Możesz zmieniać ustawienia szablonu w zależności od określonych warunków. Na przykład, możesz zmienić sposób wyświetlania produktów w zależności od witryny lub kategorii.

W tym celu utwórz w aplikacji "Witryna -> Bloki" blok o ID theme.themesettings_return.

{* POBIERZ ID SZABLONU *}
{$_theme_id = waRequest::getTheme()}

{* POBIERZ USTAWIENIA SZABLONU *}
{$args = $wa->globals('theme.event_args')}
{$theme_settings = $args['theme_settings']}

{* USTAW USTAWIENIA SZABLONU *}
{if !empty($category) && $category["id"] == 9}
    {$theme_settings["catalog__categories_common_type"] = "assets/img/themesettings/home/categories/types/categories_01.jpg"}
    {$theme_settings["catalog__categories_common_cards_type_items_in_row"] = "4"}
    {$theme_settings["catalog__categories_common_limit_type_number"] = "4"}
{/if}
{if !empty($category) && $category["id"] == 12}
    {$theme_settings["catalog__common_category_view_type_buttons"] = "list"}
    {$theme_settings["catalog__common_category_view_grid_type_buttons"] = "four"}
    {$theme_settings["catalog__products_wide_images"] = "0"}
    {$theme_settings["catalog__common_category_view_grid_image_type_buttons"] = "portrait"}
{/if}

{* ZWRÓĆ USTAWIENIA SZABLONU *}
{$args['theme_settings'] = $theme_settings}
{$wa->globals('theme.event_return', $args)}


Wyjaśnienie kodu powyżej.

Krótko mówiąc, możesz ustawić własne ustawienia szablonu dla każdej kategorii, niezależnie od ustawień ogólnych. W powyższym przykładzie $category["id"] == 9 - gdzie '9' to ID kategorii.

Możliwe zmienne do użycia:

  • {$theme_settings["catalog__categories_common_type"] = "assets/img/themesettings/home/categories/types/categories_01.jpg"} - typ wyświetlania podkategorii (możliwe wartości: assets/img/themesettings/home/categories/types/categories_01.jpg i assets/img/themesettings/home/categories/types/categories_02.jpg)
  • {$theme_settings["catalog__categories_common_cards_type_items_in_row"] = "4"} - liczba podkategorii w jednym rzędzie (możliwe wartości: 4, 5, 6, 8)
  • {$theme_settings["catalog__categories_common_limit_type_number"] = "4"} - liczba kategorii wyświetlanych przed przyciskiem "Pokaż więcej" (możliwe wartości: od 1)
  • {$theme_settings["catalog__common_category_view_type_buttons"] = "list"} - domyślny sposób wyświetlania produktów w kategorii (możliwe wartości: grid, list, table)
  • {$theme_settings["catalog__common_category_view_grid_type_buttons"] = "four"} - liczba produktów w rzędzie w widoku siatki (możliwe wartości: third, four)
  • {$theme_settings["catalog__products_wide_images"] = "0"} - zdjęcia na całą szerokość (możliwe wartości: 0 - zdjęcie z marginesami; 1 - usuwa marginesy wokół zdjęć)
  • {$theme_settings["catalog__common_category_view_grid_image_type_buttons"] = "portrait"} - styl zdjęć w widoku siatki (możliwe wartości: square - zdjęcia kwadratowe; portrait - zdjęcia portretowe)