Перейти к публикации
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.

Баг подписок галереи - как управлять подписками на категорию?

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

Вот в разделе «Мои подписки» можно управлять подписками галереи. Там есть подразделы Изображения и Альбомы.

Но, подписаться то можно и на третью сущность - Категории.

Однако потом в «Мои подписки» категорий нету… Хотя рассылка от них приходит (по факту новых фоток в подписанных категориях) - шаблон gallery_new_cimage.

Но как от неё отписаться то централизованно?

Только ходить по всему дереву категорий в галерее, заглядывать там в список подписчиков и там удаляться ???

 

пробовал по прямой ссылке (по аналогии с Файлами) - ?app=core&module=search&do=followed&search_app=gallery&contentType=categories - не работает.

Нашёл в \admin\applications_addon\ips\gallery\extensions\search\config.php что ключа там только два:

/* Content types for 'follow', default one first */

$CONFIG['followContentTypes'] = array( 'images', 'albums' );

 

 

Попробовал дописать там 'categories', ресинхронизировать все категории. Раздел «Категории» в «Моих подписках» появился, но показывает он какие-то не те фотки и категории. На которые я заведомо подписан - не показывает, какие-то не подписанные - показывает… Надо где-то ещё что-то сделать.

 

Может кто-то уже исправлял эту проблему, добавлял в «Мои подписки» в галерею раздел подписок на категории?

 

 

ps. В разделе подписок на альбомы - подписанные категории не показаны. Хотя могли бы их и туда вставить.

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

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

Может кто-то уже исправлял эту проблему, добавлял в «Мои подписки» в галерею раздел подписок на категории?

Сделал

/* Content types for 'follow', default one first */

$CONFIG['followContentTypes'] = array( 'images', 'albums' );

Попробовал дописать там 'categories',

Действительно отображаются альбомы.

UPD. Нужно еще отредактировать файл \admin\applications_addon\ips\gallery\extensions\search\format.php

Метод parseFollowedContentOutput

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

UPD. Нужно еще отредактировать файл \admin\applications_addon\ips\gallery\extensions\search\format.php

Метод parseFollowedContentOutput

Я так понимаю что не просто отредактировать parseFollowedContentOutput, а дописать ещё половину всего format.php…

Шаблоны по аналогии с searchResultsAsGallery и galleryAlbumSearchResult новые делать для категорий…

_processAlbumResults тоже новый сделать для категорий, там в свою очередь засада в логике helper('albums')->fetchAlbumsByFilters, получается аналог это helper('categories')->fetchCategories();

И много другие неочевидных мест наверняка тоже переписывать.

Частично переписал всё это, но в итоге пока не разобрался как это всё работает - в подписках выводится не то что надо.

 

Баг ведь явный. Интересно, если авторам сообщить - исправят или уже нет?

 

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

Если же категория разрешает альбомы - то появление новых альбомов или появление фоток в старых альбомах в этой категории - уведомления не рассылает.

 

Т.е. по сути подписаться на категорию (с вложенными уровнями) нельзя (точнее, подписка не ходит). Подписаться можно только на раздел категории для изображений, что по сути не отличается от подписки на альбом. А если например пользователь хочет получать уведомления о новых альбомах или вообще о новых фотках в галерее - то это не работает. Наверно надо в шаблонах вырезать подписку на категорию не разрешающую изображения, чтобы это не вводило в заблужение.

 

upd. Пока просто выпилил возможность подписки

Редактирование стиля - (Галерея) Общие - likeSummaryContents, там для кнопки подписки добавил скрытие если подписки нет (чтобы можно было отписаться) и если это категория: <if test="$data['vernacular']=='follow_category'">" style='visibility:hidden'"</if>

<span class='ipsButton_extra right <if test="$data['totalCount']">_fmore clickable</if>' title='{parse expression="sprintf( $this->lang->words['like_totalcount_' . $data['vernacular'] ], $data['totalCount'] )"}' data-tooltip="{parse expression="sprintf( $this->lang->words['like_totalcount_' . $data['vernacular'] ], $data['totalCount'] )"}"><img src='{$this->settings['img_url']}/icon_users.png' /> <strong>{$data['totalCount']}</strong></span>
<if test="likeOnlyMembers:|:$this->memberData['member_id']">
<a href='#' title="<if test="$data['iLike']">{parse expression="sprintf( $this->lang->words['fave_tt_on'], $this->lang->words['like_ucfirst_un' . $data['vernacular'] ])"}<else />{parse expression="sprintf( $this->lang->words['fave_tt_off'], $this->lang->words['like_ucfirst_' . $data['vernacular'] ])"}
<if test="$data['vernacular']=='follow_category'">" style='visibility:hidden'"</if>
</if>" class='ftoggle ipsButton_secondary'><if test="$data['iLike']">{parse expression="sprintf( $this->lang->words['unset_fave_button'], $this->lang->words['like_ucfirst_un' . $data['vernacular'] ])"}<else />{parse expression="sprintf( $this->lang->words['set_fave_button'], $this->lang->words['like_ucfirst_' . $data['vernacular'] ])"}</if></a>
</if>

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

Опубликовано:
Интересно, если авторам сообщить - исправят или уже нет?
Нет. Даже патчи безопасности не будут делать.

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

Сейчас на странице 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.