ТК - Отключен просмотр списка, но список выводится на сайте.

ЗАКРЫТО InstantCMS 2.X

Вроде при отключении просмотра списка его на сайте быть вообще не должно.

#1 10 апреля 2025 в 17:15

Доброго, уважаемые коллеги!

Создал свой ТК (пусть будет Тест | test). В настройках отключил «Просмотр списка на сайте включен», сохранил. Но, если ввести в адресной строке site.ru/test — список контента отображается. Все, что было добавлено выводится в соответствии с установленным шаблоном по-умолчанию. Кажется, что так быть не должно. Пользователь может случайно попасть на страницу со списком ТК (без задуманной структуры и иерархии), запутаться, потеряться и уйти. С точки зрения СЕО тоже так себе — эта страница бесполезна и ее не надо индексировать.

Есть нюанс: этот тип контента является дочерним и родительским одновременно. Логика такова, что ТК «Тест» должен выводится только во вкладке связи с родительским ТК, больше списка нигде быть не должно. Чтобы было совсем понятно, постараюсь изобразить схему: ТК_1 родитель -> связь -> дочерний ТК Тест родитель -> связь -> дочерний ТК_2. То есть, мне не нужно, чтобы ТК Тест и ТК_2 отображались на сайте самостоятельно, только внутри родительских элементов.

То ли я чего-то не понимаю, то ли не настроил правильно, то ли это ошибка.

Все крутится на Inst 2.17.2, дефолтном шаблоне Modern, файлы пока не менялись. Просто добавлена дочерняя тема.

Подскажите, пожалуйста, что не так. Благодарю.

Кстати, один ТК можно было бы убрать совсем, если было бы что-то типа Repiter field, когда пользователь может сам добавлять нужное количество значений.

#2 10 апреля 2025 в 17:24

На демо опция работает, возможно у вас какая то сторонняя разработка меняет опции.

Еще варианты:

  1. Админка — Виджеты — найти страницу списка этого типа контента — Редактировать — Запретить всем группам доступ
  2. Включить опцию «Не показывать записи в корневой категории»
  3. Раздел Доступ — Запретить просмотр списка записей 
#3 10 апреля 2025 в 17:26

Что еще заметил. При отключении ТК, если есть связь и дочерний ТК выводится во вкладке — она не пропадает, а при клике выдает 404. Тоже, наверное, не совсем правильно.

Сегодня в 22:33
#4 10 апреля 2025 в 17:44

В настройках отключил «Просмотр списка на сайте включен», сохранил

iDrevniy

чистая 2.17.2 

Получаю 404, как и должно быть. новый создавать необязательно. Можно проверить на типе контента Страницы. По умолчанию, показ списка в нем отключен. И сайт/pages отдает 404. Но можно включить и посмотреть список страниц

Изображение

Допускаю, что проблема может быть при определенном сочетании настроек и сторонних компонентах. Но на чистой версии проблему повторить не удается.

#5 10 апреля 2025 в 19:42

на чистой версии проблему повторить не удается

Zau4man

На чистой установке, тоже такой проблемы нет. На старом сайте — эта проблема есть, список не отключается.

#6 10 апреля 2025 в 20:38

На старом сайте — эта проблема есть, список не отключается

Nikolay

путем тестирования и просмотра кода проблема найдена. Если в настройках сайта выбран тип контента по умолчанию, то поиск типа контента, который надо показать, прекращается тут github.com/instantsoft/icms2/blob/cc3d3da5cdd42de660b4a9f0cde12089780f8ea6/system/controllers/content/actions/category_view.php#L396

И до проверки на отключение списка не доходит тут github.com/instantsoft/icms2/blob/cc3d3da5cdd42de660b4a9f0cde12089780f8ea6/system/controllers/content/actions/category_view.php#L505

Что поправить не разберусь. Что делает весь этот код беглым взглядом не разберу.

#7 10 апреля 2025 в 20:58

Если в настройках сайта выбран тип контента по умолчанию,

Zau4man

В настройках стояла страница, её убрал, список для ТК страниц, перестал показываться, переходит в ошибку 404

#8 11 апреля 2025 в 06:14

Большое спасибо за ответы.

К сожалению, у меня в настройках ни один из этих ТК не стоит по умолчанию. Пробую, экспериментирую с отключением сторонних компонентов.

Добавлено спустя 1 час

Как думаете, это можно расценивать как баг? Может кто-нибудь возмется исправить? Сколько может стоить?

#9 11 апреля 2025 в 06:43

Как думаете, это можно расценивать как баг

iDrevniy

Проверял на демо сайте и на чистой установке, если в настройках сайта выбран тип контента по умолчанию, то при просмотре данного ТК список не отключается. Можно расценивать как баг или не доработку (ссылка стала иметь другой вид — без ТК), а может так задумано.

#10 11 апреля 2025 в 13:51

Баг, исправим в обновлении. А пока откройте файл system/controllers/content/actions/category_view.php и добавьте строку:

  1. if (empty($ctype['options']['list_on'])) {
  2. return cmsCore::error404();
  3. }

Как показано на скриншоте:

Изображение

#11 11 апреля 2025 в 15:23

А пока откройте файл system

Fuze

Спасибо! Поправил, просмотр списка на сайте включен, включается и выключается, как с настройками ТК по умолчанию, так и без.

#12 11 апреля 2025 в 19:44

Благодарю за оперативность и решение вопроса!

 Fuze, огромное спасибо!

Похожие темы

Отключение списка записй

Компоненты Создана 4 года назад 3 сообщения

Похожее в блогах

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.