Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Вывод массива записи в шаблоне pages

Опубликовано:

Здравствуйте. Делаю шаблон базы данных для приложения 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>

Рекомендованные сообщения

Опубликовано:
Как бы тут активную вкладку указать?

В таблисте должны быть только ссылки на соответствующие панели, шаблон categoryRow там ни к селу, ни к городу. Активная вкладка указывается в атрибуте data-ipstabbar-defaulttab корневого элемента ipsTabs, либо можно сразу добавить в ссылку класс "ipsTabs_activeItem", а панель ей соответствующая должна иметь атрибут aria-hidden="false". Остальные вкладки не должны иметь класса "ipsTabs_activeItem", соответствующие им панели должны иметь атрибут aria-hidden="true". В панелях уже можете подключать другие свои шаблоны, да.

Опубликовано:
  • Автор

У меня табы - это категории, тут всё так и должно быть. Контент табов - название записи.

Опубликовано:

Нет, не должно быть. Этот шаблон не может быть использован в табах. Чтобы яваскрипт работал корректно, выглядеть оно должно примерно так:

{{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}}

Код на коленке написал, проверить негде сейчас, но должен работать.

Опубликовано:
  • Автор

Уважаемый, я знаю как формируется этот шаблон и вкладки. Вопрос в другом.

 

Во первых, myTab1 и myTab2 должны быть {$categoryid_1}, {$categoryid_2} соотественно, давайте по порядку, как вывести id категории в шаблоне index.

Опубликовано:

Если знаете, то зачем пихаете не имеющий отношения к табам шаблон листинга категорий в ссылки табов? Пишите свой шаблон, формирующий код аналогичный приведённому.

Опубликовано:
  • Автор

Я кинул точно такой шаблон что и вы, только вы изменили некоторые классы.

 

Вы можете подсказать, как вывести id категории в главном шаблоне index.

Изменено пользователем TemKa_SD

Опубликовано:

Запросом к базе, с обработкой в цикле, очевидно. Это на коленке не нарисую, не помню наизусть таблиц Pages.

 

Но вообще это не главное, ИМХО. Если грузить контент всех категорий в скрытые панели изначально , без AJAX-подгрузки, страница получится очень тяжелой, при большом количестве категорий. А подгрузку вы не напишете сами, видимо.

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.