Опубликовано: 16 февраля 20196 г Здравствуйте. Делаю шаблон базы данных для приложения PAGES.Шаблон - копия таблицы лидеров, только во вкладках будет свой контент. И так, список вкладок: {{if !count($categories)}} <div class="ipsBox ipsPad">{lang="cms_no_cats_to_show"}</div> {{else}} <div class='ipsTabs ipsTabs_contained ipsTabs_large ipsTabs_stretch ipsClearfix' id='elTabBar' data-ipsTabBar data-ipsTabbar-defaultTab="elTab{$activeTab}" data-ipsTabBar-contentArea='#elLeaderboardContent'> <a href='#elTabBar' data-action='expandTabs'><i class='fa fa-caret-down'></i></a> <ul role='tablist'> {{foreach $categories as $category}} {template="categoryRow" app="cms" location="database" group="rules" params="$category"} {{endforeach}} </ul> </div> {{endif}} Как бы тут активную вкладку указать? {$activeTab} --------------- Материал (загрузка вкладок): Здесь скорей всего нужно будет подгружать шаблон тегом {template} верно? <section id='elLeaderboardContent' class="ipsTabs_panels ipsTabs_contained"> <div id='ipsTabs_elTabBar_elTab{$activeTab}_panel' aria-labelledby='elTab{$activeTab}' aria-hidden='false' class='ipsTabs_panel ipsPad'> {$content|raw} </div> </section>
Опубликовано: 16 февраля 20196 г Как бы тут активную вкладку указать?В таблисте должны быть только ссылки на соответствующие панели, шаблон categoryRow там ни к селу, ни к городу. Активная вкладка указывается в атрибуте data-ipstabbar-defaulttab корневого элемента ipsTabs, либо можно сразу добавить в ссылку класс "ipsTabs_activeItem", а панель ей соответствующая должна иметь атрибут aria-hidden="false". Остальные вкладки не должны иметь класса "ipsTabs_activeItem", соответствующие им панели должны иметь атрибут aria-hidden="true". В панелях уже можете подключать другие свои шаблоны, да.
Опубликовано: 16 февраля 20196 г Автор У меня табы - это категории, тут всё так и должно быть. Контент табов - название записи.
Опубликовано: 16 февраля 20196 г Нет, не должно быть. Этот шаблон не может быть использован в табах. Чтобы яваскрипт работал корректно, выглядеть оно должно примерно так:{{if !count( $categories )}} <div class='ipsBox ipsPad'>{lang="cms_no_cats_to_show"}</div> {{else}} <div class='ipsTabs ipsTabs_contained ipsTabs_large ipsTabs_stretch ipsClearfix' id='myTabs' data-ipstabbar='' data-ipstabbar-defaulttab='myTab1' data-ipstabbar-contentarea='#myTabsContent'> <a href='#myTabs' data-action='expandTabs'><i class='fa fa-caret-down'></i></a> <ul role='tablist'> <li role='presentation'> <a href='#ipsTabs_myTabs_content1_panel' id='myTab1' class='ipsType_center ipsTabs_item ipsTabs_activeItem'> Панель 1 </a> </li> <li role='presentation'> <a href='#ipsTabs_myTabs_content2_panel' id='myTab2' class='ipsType_center ipsTabs_item'> Панель 2 </a> </li> </ul> </div> <section id='myTabsContent' class='ipsTabs_panels ipsTabs_contained'> <div id='ipsTabs_myTabs_content1_panel' aria-labelledby='myTab1' aria-hidden='false' class='ipsTabs_panel ipsPad'> <!-- Сюда добавляем код или подключаем шаблон первой панели --> </div> <div id='ipsTabs_myTabs_content2_panel' aria-labelledby='myTab2' aria-hidden='true' class='ipsTabs_panel ipsPad'> <!-- Сюда добавляем код или подключаем шаблон второй панели --> </div> </section> {{endif}}Код на коленке написал, проверить негде сейчас, но должен работать.
Опубликовано: 16 февраля 20196 г Автор Уважаемый, я знаю как формируется этот шаблон и вкладки. Вопрос в другом. Во первых, myTab1 и myTab2 должны быть {$categoryid_1}, {$categoryid_2} соотественно, давайте по порядку, как вывести id категории в шаблоне index.
Опубликовано: 16 февраля 20196 г Если знаете, то зачем пихаете не имеющий отношения к табам шаблон листинга категорий в ссылки табов? Пишите свой шаблон, формирующий код аналогичный приведённому.
Опубликовано: 16 февраля 20196 г Автор Я кинул точно такой шаблон что и вы, только вы изменили некоторые классы. Вы можете подсказать, как вывести id категории в главном шаблоне index. Изменено 16 февраля 20196 г пользователем TemKa_SD
Опубликовано: 16 февраля 20196 г Запросом к базе, с обработкой в цикле, очевидно. Это на коленке не нарисую, не помню наизусть таблиц Pages. Но вообще это не главное, ИМХО. Если грузить контент всех категорий в скрытые панели изначально , без AJAX-подгрузки, страница получится очень тяжелой, при большом количестве категорий. А подгрузку вы не напишете сами, видимо.
Здравствуйте. Делаю шаблон базы данных для приложения PAGES.
Шаблон - копия таблицы лидеров, только во вкладках будет свой контент.
И так, список вкладок:
{{if !count($categories)}} <div class="ipsBox ipsPad">{lang="cms_no_cats_to_show"}</div> {{else}} <div class='ipsTabs ipsTabs_contained ipsTabs_large ipsTabs_stretch ipsClearfix' id='elTabBar' data-ipsTabBar data-ipsTabbar-defaultTab="elTab{$activeTab}" data-ipsTabBar-contentArea='#elLeaderboardContent'> <a href='#elTabBar' data-action='expandTabs'><i class='fa fa-caret-down'></i></a> <ul role='tablist'> {{foreach $categories as $category}} {template="categoryRow" app="cms" location="database" group="rules" params="$category"} {{endforeach}} </ul> </div> {{endif}}Как бы тут активную вкладку указать?
{$activeTab}---------------
Материал (загрузка вкладок):
Здесь скорей всего нужно будет подгружать шаблон тегом {template} верно?
<section id='elLeaderboardContent' class="ipsTabs_panels ipsTabs_contained"> <div id='ipsTabs_elTabBar_elTab{$activeTab}_panel' aria-labelledby='elTab{$activeTab}' aria-hidden='false' class='ipsTabs_panel ipsPad'> {$content|raw} </div> </section>