Перейти к содержанию

вывод изображений в профиле по категориям


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

Всем привет!

Профиль / Контент / Изображения - здесь выводятся все фото, добавленные пользователем. Но все они идут без категорий.

Попробовал поковырять шаблоны, два варианта:

Вариант 1
gallery / front / browse / imageTable

вывод здесь:

<ol class='ipsPad ipsList_reset ipsClear ipsGrid ipsGrid_collapsePhone ipsType_center cGalleryPatchwork_list' data-controller='gallery.front.browse.list' data-ipsPhotoLayout data-ipsPhotoLayout-itemTemplate='core.patchwork.imageList' data-ipsPhotoLayout-minHeight='300' id='elTable_{$table->uniqueId}' data-role='tableRows'>
	{template="tableRowsThumbs" group="browse" app="gallery" params="$table, $headers, $rows"}
</ol>

попробовал заменить на это:

{{foreach $rows as $row}}
  {{ $groupedImages[$row->category_id][] = $row; }}
{{endforeach}}

{{foreach $groupedImages as $category_id => $rows }}
  <ol class='ipsPad ipsList_reset ipsClear ipsGrid ipsGrid_collapsePhone ipsType_center cGalleryPatchwork_list' data-controller='gallery.front.browse.list' data-ipsPhotoLayout data-ipsPhotoLayout-itemTemplate='core.patchwork.imageList' data-ipsPhotoLayout-minHeight='300' id='elTable_{$table->uniqueId}' data-role='tableRows'>
    {template="tableRowsThumbs" group="browse" app="gallery" params="$table, $headers, $rows"}
  </ol>          
{{endforeach}}

Все норм, бьется на категории, но только на первой странице.
Если жмем в пагинаторе вторую страницу - фото грузятся уже без дробления, все подряд в куче.

Вариант 2
gallery / front / browse / tableRowsThumbs

Сделал подобную манипуляцию, но с переменной $images.
Также норм на 1 странице, на второй грузятся все фото, разбитые на категории - но в 25 экземплярах! То есть выводит 625 фото...

Причем из ajax приходит все норм, разбито, и всего 25 штук. Это js уже множит это...

Хотелось бы помощи, наверняка решение простое в 1 строку, но я вообще не знаком с js фреймворком IPS (

 

 

Ссылка на комментарий
Поделиться на другие сайты

Проблема решена, можно закрыть

Ссылка на комментарий
Поделиться на другие сайты

39 минут назад, demvlg сказал:

Проблема решена, можно закрыть

Если не трудно то прошу озвучить решение, возможно ы будущем кому-то из пользователей поможет

Ссылка на комментарий
Поделиться на другие сайты

Пример для отображения с плавающими первьюхами

gallery / front / browse / imageTable

			<ol class='ipsPad ipsList_reset ipsClear ipsGrid ipsGrid_collapsePhone ipsType_center cGalleryPatchwork_list' data-controller='gallery.front.browse.list' data-ipsPhotoLayout data-ipsPhotoLayout-itemTemplate='core.patchwork.imageList' data-ipsPhotoLayout-minHeight='300' id='elTable_{$table->uniqueId}' data-role='tableRows'>
				{template="tableRowsThumbs" group="browse" app="gallery" params="$table, $headers, $rows"}
			</ol>

заменить на

			<div data-role='tableRows'>
            	{template="tableRowsThumbs" group="browse" app="gallery" params="$table, $headers, $rows"}
          	</div>

gallery / front / browse / tableRowsThumbs

добавить в начале шаблона

{{ $groupedImage = []; }}

{{foreach $images as $image}}
	{{ $groupedImages[$image->category_id][] = $image; }}
{{endforeach}}

{{foreach $groupedImages as $category_id => $grImages}}

	{{if \IPS\Request::i()->app == 'core'}}
		{{ $category_name = \IPS\Member::loggedIn()->language()->get( 'gallery_category_' . $category_id ); }}
       	<h3 class="htitle" data-category-id="{$category_id}">{$category_name}</h3>
	{{endif}}

	<ol class='ipsPad ipsList_reset ipsClear ipsGrid ipsGrid_collapsePhone ipsType_center cGalleryPatchwork_list' data-controller='gallery.front.browse.list' data-ipsPhotoLayout data-ipsPhotoLayout-itemTemplate='core.patchwork.imageList' data-ipsPhotoLayout-minHeight='400' id='elTable_{$table->uniqueId}_{$image->category_id}'>

заменить

{{foreach $images as $image}}

на

        {{foreach $grImages as $image}}

добавить в конце шаблона

	</ol>

{{endforeach}}

 

если ктото соберет это в плагин - будет супер, я скилом по их сборке не владею )

Ссылка на комментарий
Поделиться на другие сайты

Корректно не получится собрать плагин, придется большие куски кода заменять целиком, т.к. дурацкая система IPS не позволяет заменять php вставки, такие как {{foreach $grImages as $image}}, или отдельно добавлять не парные html теги.

Ссылка на комментарий
Поделиться на другие сайты

Значит останется просто инструкцией в аналах истории)

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...