Jump to content

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

Featured Replies

Всем привет!

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

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

Вариант 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 (

 

 

Link to comment
https://ipbmafia.ru/topic/19080-vyvod-izobrazhenij-v-profile-po-kategoriyam/
Share on other sites

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

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 теги.

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

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.