Навигация в материалах
В Joomla есть стандартный плагин Content - Page Navigation (изначально включен), который позволяет отображать навигацию в материалах относительно категории. Рассмотрим его более подробно и посмотри что с ним можно сделать.
В стандартных демо данных он включен, но помоему не используется. Пример будет показан на стандартных демо-данных локализованной Joomla. Посмотрим на его работу.
Идем в Все меню, выбираем Main Menu, дальше я выбрал пунут The News заходим в него. В этом пункте меню смотрим Параметры - Компонент параметр Показывать навигацию по умолчанию он стоит в значении "скрыть". Ставим ему значение "Показать". Дальше смотрим на шаблон выбираем пункт меню The News, выбираем любой материал из блога (я выбрал первый) и видим в этом материале внизу ссылку на следующую статью из этой категории.
Эта ссылка и есть результат работы данного плагина.
Немного модифицируем его - сделаем, чтобы вместо надписей "Следующая" и "Предыдущая", выводились соответствующие заголовки материалов.
Открываем файл Joomla(root)\plugins\content\pagenavigation.php.
Первое что делаем изменим немнго запрос к БД, добавим выбор заголовка.
меняем
// array of articles in same category correctly ordered
$query = 'SELECT a.id,'
на
// array of articles in same category correctly ordered
$query = 'SELECT a.id, a.title,'
Теперь добавим пару переменных:
изменим
на
if ($row->prev) {
$prevTitle=$row->prev->title;
$row->prev = JRoute::_(ContentHelperRoute::getArticleRoute($row->prev->slug, $row->prev->catslug));
} else {
$row->prev = '';
}
if ($row->next) {
$nextTitle=$row->next->title;
$row->next = JRoute::_(ContentHelperRoute::getArticleRoute($row->next->slug, $row->next->catslug));
} else {
$row->next = '';
}
И изменим вывод
меняем
if ($row->prev)
{
$html .= '
<th class="pagenav_prev">
<a href="'. $row->prev .'">'
. JText::_( '<' ) . $pnSpace . JText::_( 'Prev' ) . '</a>
</th>'
;
}
if ($row->prev && $row->next)
{
$html .= '
<td width="50">
</td>'
;
}
if ($row->next)
{
$html .= '
<th class="pagenav_next">
<a href="'. $row->next .'">'
. JText::_( 'Next' ) . $pnSpace . JText::_( '>' ) .'</a>
</th>'
;
}
на
if ($row->prev)
{
$html .= '
<th class="pagenav_prev">
<a href="'. $row->prev .'">'
. JText::_( '<' ) . $pnSpace . $prevTitle . '</a>
</th>'
;
}
if ($row->prev && $row->next)
{
$html .= '
<td width="50">
</td>'
;
}
if ($row->next)
{
$html .= '
<th class="pagenav_next">
<a href="'. $row->next .'">'
. $nextTitle . $pnSpace . JText::_( '>' ) .'</a>
</th>'
;
}
Вот и все. Измененный файл прикрепил.
14
Комментарии
05.09.2010 02:38
20.04.2011 22:24
21.07.2011 00:16
RSS лента комментариев этой записи