Список контента

InstantCMS 2.X
#1 8 мая 2021 в 09:38
Допустим, у нас есть новости и на странице просмотра новости мы хотим слева показывать список новостей. Настраиваем виджет список контента. Но по умолчанию текущая новость тоже там показывается, а можно ее как-то скрыть? А то не очень выглядит, особенно если миниатюрки показываем, слишком дублируется визуально, да и зачем показывать ссылку на эту новость, если мы и так ее читаем сейчас?
Иллюстрация
#2 8 мая 2021 в 10:52
Без доработки виджета никак.
ИЗ url или $this->request определяем ID текущей записи.
И в условие укажем $model->filterNotEqual('i.id', $item_id);

Это если коротко.
#3 8 мая 2021 в 12:26
alkokrolik, можно простенько, на уровне шаблона. Не придётся заморачиваться с самим виджетом.
На примере templates/modern/controllers/content/widgets/list/list.tpl.php (обычный).
После этой строки вставьте:
  1.  
  2. $uri = cmsCore::getInstance()->uri_absolute;
  3.  
после этой строки:
  1.  
  2. <?php
  3. $item_href = href_to($ctype['name'], $item['slug'].'.html');
  4. if($item_href == $uri) { continue ; }
  5. ?>
  6.  
#4 8 мая 2021 в 16:07
Evanescence, спасибо.
Олег Васильевич я,
Отлично работает, спасибо, но кмк не стоит давать такие относительные ссылки на гитхаб, там может поменяться код и ссылки будут вести не на те строки.
#5 8 мая 2021 в 16:56

но кмк не стоит давать

alkokrolik
Во жизнь, пошла! И за помощь по шапке дали cry
#6 8 мая 2021 в 20:09

Во жизнь, пошла! И за помощь по шапке дали cry

Олег Васильевич я
Не-не, спасибо еще раз.
Просто уже пару-тройку раз искал какое-то решение через поиск на форуме, были ссылки, а код уже изменился, поэтому только догадываться куда вставлять.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.