Jump to content

Добавить настройку темы

Featured Replies

Posted
comment_193288

Привет!

Я хочу добавить настройку выпадающего списка в мою тему, для этого я использую следующий код:

<?php

return new \IPS\Helpers\Form\Select("core_theme_setting_title_{$row['sc_id']}", $value ? explode(',', $value) : array(), false, array( 'options' => array (
  'activity' => 'Activity', 
  'forumtopic' => 'Forums',  
  'pages' => 'Pages', 
  'downloads' => 'Downloads', 
  'message' => 'message',
  'posts' => 'posts',
  'topics' => 'topics',
  ), 'parse' => 'normal', 'multiple' => true, 'unlimited' => '*', 'unlimitedLang' => 'all_items' ), NULL, NULL, NULL, 'theme_setting_' . $row['sc_key'] );

И использовать следующие коды в редакторе темы:

{{if theme.profile_items == 'activity'}} 
<!--activity-->
{{endif}} 
{{if theme.profile_items == 'forumtopic'}} 
<!--forumtopic-->
{{endif}} 
{{if theme.profile_items == 'pages'}} 
<!--pages-->
{{endif}} 
{{if theme.profile_items == 'downloads'}} 
<!--downloads-->
{{endif}} 
{{if theme.profile_items == 'message'}} 
<!--message-->
{{endif}} 
{{if theme.profile_items == 'posts'}} 
<!--posts-->
{{endif}} 
{{if theme.profile_items == 'topics'}}
<!--topics-->
{{endif}}

Однако, когда я выбираю один элемент, он отображается на переднем плане, но когда я выбираю более одного элемента, ничего не отображается.

В чем может быть проблема?

comment_193289
57 минут назад, turk сказал:

Привет!

Я хочу добавить настройку выпадающего списка в мою тему, для этого я использую следующий код:

<?php

return new \IPS\Helpers\Form\Select("core_theme_setting_title_{$row['sc_id']}", $value ? explode(',', $value) : array(), false, array( 'options' => array (
  'activity' => 'Activity', 
  'forumtopic' => 'Forums',  
  'pages' => 'Pages', 
  'downloads' => 'Downloads', 
  'message' => 'message',
  'posts' => 'posts',
  'topics' => 'topics',
  ), 'parse' => 'normal', 'multiple' => true, 'unlimited' => '*', 'unlimitedLang' => 'all_items' ), NULL, NULL, NULL, 'theme_setting_' . $row['sc_key'] );

И использовать следующие коды в редакторе темы:

{{if theme.profile_items == 'activity'}} 
<!--activity-->
{{endif}} 
{{if theme.profile_items == 'forumtopic'}} 
<!--forumtopic-->
{{endif}} 
{{if theme.profile_items == 'pages'}} 
<!--pages-->
{{endif}} 
{{if theme.profile_items == 'downloads'}} 
<!--downloads-->
{{endif}} 
{{if theme.profile_items == 'message'}} 
<!--message-->
{{endif}} 
{{if theme.profile_items == 'posts'}} 
<!--posts-->
{{endif}} 
{{if theme.profile_items == 'topics'}}
<!--topics-->
{{endif}}

Однако, когда я выбираю один элемент, он отображается на переднем плане, но когда я выбираю более одного элемента, ничего не отображается.

В чем может быть проблема?

А где цикл foreach?

{{foreach value=profile_item from=theme.profile_items}}
{{if profile_item == 'activity'}}
<!--activity-->
{{endif}}
{{if profile_item == 'forumtopic'}}
<!--forumtopic-->
{{endif}}
{{if profile_item == 'pages'}}
<!--pages-->
{{endif}}
{{if profile_item == 'downloads'}}
<!--downloads-->
{{endif}}
{{if profile_item == 'message'}}
<!--message-->
{{endif}}
{{if profile_item == 'posts'}}
<!--posts-->
{{endif}}
{{if profile_item == 'topics'}}
<!--topics-->
{{endif}}
{{endforeach}}

 

comment_193306

А если эту строку:

В 12.05.2023 в 11:21, turk сказал:
return new \IPS\Helpers\Form\Select("core_theme_setting_title_{$row['sc_id']}", $value ? explode(',', $value) : array(), false, array( 'options' => array (

Заменить на эту строку:

return new \IPS\Helpers\Form\Select("core_theme_setting_title_{$row['sc_id']}", $value instanceof \IPS\Helpers\Form\Select ? $value->value : array(), false, array( 'options' => array (

Ну и соответственно сам шаблон подправить под правильный для актуальных версий синтаксис:

{{if in_array('activity', theme.theme_settings['core_theme_setting_title_{$row.sc_id}'].value)}}
<!--activity-->
{{endif}}

Опять же, это эксперименты и догадки, не более.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.