Модуль новостей. Добавляем дату к новости.

1 звезда2 звезда3 звезда4 звезда5 звезда (3 голос, рейтинг: 5,00 из 5)
Loading ... Loading ...

Хотите оперативно получать новые уроки и статьи блога LAWANS.RU. Просто введите ВАШ e-mail на форме справа >>>

Привет Всем!

Многие наверно пользуются модулем новостей на сайте. Однако в стандартном модуле Материалы – Новости  нет  элементарного – даты публикации новости, которая столь необходима. Даже не понимаю почему разработчики не включили такую настройку в модуль. Давайте попробуем изменить эту ситуацию и сделаем настройку показа даты рядом с новостью. При этом я как всегда говорю про то, что если не хочется с этим заморачиваться скачайте более продвинутый модуль новостей с такой возможностью. Но нужно ли, если необходимо сделать такую мелкую правку.

Приступим.

Для начала давайте в админке найдём этот модуль и опубликуем его. Т.е. идём в Менеджер расширений – Менеджер модулей и создадим там модуль под названием Материалы – Новости.

Как видим функций у него для неискушенного пользователя достаточно. В дополнительных параметрах можно даже Альтернативный макет выбрать. Пусть у нас будет по макет по умолчанию. Но как видим свойства отображения даты публикации новости нет, хотя в таблице баз данных Joomla это поле есть и его можно выбрать из неё.

параметры модуля новостей

Итак, мы, создали и опубликовали на сайте этот модуль. На сайте это примерно выглядит так:

модуль новостей на сайте

Физически данный модуль находится по пути:

\modules\mod_articles_news\

По идее, если необходимо управление показом/скрытием  даты из админки можно добавить поле в настройки. Тогда заходим в файл mod_articles_news.xml

и например после блока

<field name=’readmore’….. </field>

включите следующий блок:

<field name=’mydate’ type=’radio’ default=’0′ label=’Date’ description=’Date’>

<option value=’0′>JHIDE</option>

<option value=’1′>JSHOW</option>

</field>

Вот что получится:

пункт Дата в модуле

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

Но продолжим. Для этого по пути:

\templates\ваш_шаблон\html

Создадим папку mod_articles_news и скопируем в неё файл _item.php из папки \modules\mod_articles_news\tmpl.

Теперь к главному.

Добавим код в файл _item.php там где нужен вывод даты.

Если вы сделали настройку в админке для показа/скрытия даты, то код будет таким:

<?php if ($params->get(‘ mydate’)) :

echo $item->created;

endif; ?>

Если же делаете без настройки, а хотите указать дату явно в шаблоне, то код будет попроще:

<?php echo $item->created;?>

Вот что у нас получилось на сайте:

измененный модуль новостей на сайте

Получилось довольно коряво. Тогда используем силу фреймворка Joomla и немного переформатируем дату.

В Joomla есть 4 вида вывода даты (по крайней мере я знаю только 4):

10-01-2012 – 1 вид;

2012-01-10  18:20:06 – 2 вид (используется по умолчанию, как у нас сейчас);

10 Января 2012  – 3 вид;

10-01-12 – 4 вид;

Давайте, например, сделаем вид 3. Тогда вместо echo $item->created;

Запишете

echo JHTML::_(‘date’,$item->created, JText::_(‘DATE_FORMAT_LC3′));

Если нужен другой вид, то просто замените в DATE_FORMAT_LC3 цифру 3 на цифру  1,2 или 4 (т.е. DATE_FORMAT_LC1, DATE_FORMAT_LC2 или DATE_FORMAT_LC4)

Вот так это собственно не сложно. Можно кстати добавить выбор формата в параметры модуля и управлять им через админку. Но это можете для тренировки сделать сами.

Пример можно посмотреть на примере блока <field name=”link_titles”..</field> в настроечном файле.

На этом всё! Жду ваших вопросов и комментариев.


У ВАС ведь есть ТЕЛЕФОН? Или mp3-player? А может даже планшет, ноутбук или игровая консоль!
Хочется, чтобы он был необычным и уникальным?
Заходите к нам – мы поможем.

  
  
{lang: 'ru'}

Похожие статьи

5 thoughts on “Модуль новостей. Добавляем дату к новости.

    • а вы шаблон переопределили и прописки для даты все сделали? тут главное внимательно всё сделать иначе может и не сработать.

  1. Спасибо. Все получилось. Хочу узнать как можно например если дата имеет формат 15.09.2013 повлиять только на цифру 15 что бы сделать ее больше (жирнее) по отношению к 09.2013. (в шаблоне использую код echo JHTML::_(‘date’,$item->created, JText::_(‘DATE_FORMAT_LC4′)); Спасибо.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>