Posted 12 мая, 20231 yr 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}} Однако, когда я выбираю один элемент, он отображается на переднем плане, но когда я выбираю более одного элемента, ничего не отображается. В чем может быть проблема?
12 мая, 20231 yr 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}}
12 мая, 20231 yr Author comment_193291 1 час назад, ryancoolround сказал: {{foreach value=profile_item from=theme.profile_items}} Этот метод не сработал.
13 мая, 20231 yr 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}} Опять же, это эксперименты и догадки, не более.
13 мая, 20231 yr comment_193309 @turk you can use blow snippet: {{if mb_strstr( theme.profile_item, 'activity' )}}
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.