Несколько фокусов с CMS Joomla! Удаление значка печати из списка статей при сохранении его на странице статьи
- Опубликовано: 25.02.2017
- Автогенерация и отображение эскизов фотоальбомов модулем RokBox
- Доработка горизонтального меню-списка для динамического разворачивания подпунктов
- Единая кнопка «Сохранить изменения» для корзины Интернет-магазина VirtueMart
- Изменение/снятие ограничений на длину строки поиска и его попутная доработка
- Исправление ссылки на главную/домашнюю в горизонтальном меню старого стиля
- Модернизация сайтов на Joomla! старых версий 1.5/2.5 до актуальной 3.6
- Отображение заглушки «сайт в разработке» для всех и всего сайта для избранных
- Подсветка пункта меню типа «внешняя ссылка», или Как сделать ссылки на категории VirtueMart
- Преобразование адресов сайта в дружественные (SEF) для внешних нужд
- Реализация двуязычного сайта с постраничным переключением языков
- Удаление значка печати из списка статей при сохранении его на странице статьи
Удаление значка печати из списка статей при сохранении его на странице статьи
Наконец-то проблему, с которой я сам давно сталкивался, мне удалось решить… при помощи всего 7 символов 😊 (об этом ниже). Речь идёт о некоторой путанице в иерархии настроек Joomla! (настройки «Менеджера материалов» как глобальные > настройки пунктов меню > настройки отдельных материалов/статей) и, в частности, её нелогичной и неудобной работе в части отображения значков печати, эл. писем и PDF при заголовках материалов. Предположительно, проблемы не было до выхода версии 1.5 (22.01.2008), но она до сих пор сохраняется даже в последней версии 1.5.22 (05.11.2010). Надеюсь, моё решение кому-то временно поможет, а там, глядишь, и разработчики исправятся в следующей версии.
Итак, постановка задачи: есть статья, при просмотре которой хочется отображать значок печати (и/или значок эл. письма, и/или значок PDF – в данном случае это неважно). И есть список статей, в котором отображается эта статья (например, в виде блога раздела/категории – тут это тоже не очень важно). Так вот, если значок печати отображается «внутри» статьи, то он непременно будет отображаться и в списке, где обычно фигурируют только заголовки статей (ну или с аннотациями), и выглядит это, мягко говоря, странно. При этом никакие штатные настройки Joomla! проблему не решают (а это 2 глобальных значения «Скрыть»/«Показать» в настройках «Менеджера материалов», 3 значения «Скрыть»/«Показать»/«Использовать глобальные» в настройках пункта меню, и они же в настройках конкретного материала/статьи, итого 18 комбинаций).
Так как такое безобразное поведение определено на уровне самой CMS, а править её код есть моветон (могут быть проблемы с обновлением версии), то придётся скопировать соответствующие файлы в ваш шаблон и исправить их там – они переопределят код CMS (спасибо за подсказку моей коллеге 😉). Как минимум, нужно скопировать файл /components/com_content/views/category/tmpl/blog_item.php в /templates/<шаблон>/html/com_content/category/blog_item.php (ну или сразу все файлы из папки /components/com_content/views/category/tmpl/ в /templates/<шаблон>/html/com_content/category/) и исправить его следующим образом:
/templates/<шаблон>/html/com_content/category/blog_item.php
…
<!--<?php if ($this->item->params->get('show_pdf_icon')) : ?><td align="right" width="100%" class="buttonheading"><?php echo JHTML::_('icon.pdf', $this->item, $this->item->params, $this->access); ?></td><?php endif; ?>
<?php if ( $this->item->params->get( 'show_print_icon' )) : ?><td align="right" width="100%" class="buttonheading"><?php echo JHTML::_('icon.print_popup', $this->item, $this->item->params, $this->access); ?></td><?php endif; ?>
<?php if ($this->item->params->get('show_email_icon')) : ?><td align="right" width="100%" class="buttonheading"><?php echo JHTML::_('icon.email', $this->item, $this->item->params, $this->access); ?></td><?php endif; ?>-->
…
7 символов – это символы комментирования, которые я использовал для отключения вывода значков в списках материалов (статей) в формате блога (blog) категории (category). При желании и по аналогии вы можете отключить вывод значков и в любых других представлениях списка материалов.