Четверг, 03 Июль 2014 00:00

Дата сообщений в K2

Наш сайт всё ещё в разработке, а мы уже публикуем новые статьи. Сейчас встал вопрос о перемещении даты новости компонента K2 таким образом, чтобы она размещалась не надо заголовком, а под ним.

Для этого нам будет нужно открыть файлы компонента K2. Для начала подправим дату в ленте, на главной странице. Здесь нам потребуется файл:
components/com_k2/templates/default/category_item.php

Ищем строку с <span class="catItemDateCreated">

Я не знаю какая версия компонента у Вас, но у меня этот блок находится на 30-й строке.

Вырезаем этот блок:

<?php if($this->item->params->get('catItemDateCreated')): ?>
<!-- Date created -->
<span class="catItemDateCreated">
  <?php echo JHTML::_('date', $this->item->created , JText::_('K2_DATE_FORMAT_LC2')); ?>
</span>
<?php endif; ?>

И вставляем его перед этим фрагментом:

<?php if($this->item->params->get('catItemAuthor')): ?>
<!-- Item Author --><br />
<span class="catItemAuthor">

У меня это получилось 60-я строка.

О чудо, дата перенесена в нужное мне место, но вот беда, мне не нравится тот формат, в котором она выводится. Мне достаточно года, месяца и дня, время мне ни к чему. Что делать? Вот эту строку:

  <?php echo JHTML::_('date', $this->item->created , JText::_('K2_DATE_FORMAT_LC2')); ?>

Нужно заменить на эту:

  <?php echo JHTML::_('date', $this->item->created , JText::_('')); ?>

Мне такого формата оказалось достаточно, но если Вам покажется мало, нужно будет ознакомиться с аттрибутами date();.

Теперь можно заняться датой внутри материала новости. Для этого нам понадобится уже другой файл:
components/com_k2/templates/default/item.php

Но принцип действия будет тем же. На 35-й строке находим блок:

<?php if($this->item->params->get('itemDateCreated')): ?>
<!-- Date created -->
<span class="itemDateCreated">
<?php echo JHTML::_('date', $this->item->created , JText::_('K2_DATE_FORMAT_LC2')); ?>
</span>
<?php endif; ?>

Так же вырезаем его и вставляем перед этим блоком:

<?php if($this->item->params->get('itemAuthor')): ?>
<!-- Item Author -->
<span class="itemAuthor">

И как и прежде удаляем лишнее из строки:

<?php echo JHTML::_('date', $this->item->created , JText::_('K2_DATE_FORMAT_LC2')); ?>

Получаем:

<?php echo JHTML::_('date', $this->item->created , JText::_('')); ?>

Вот собственно и всё. Радуемся результату.

Спонсоры: