Навигация в материалах CMS Joomla в пределах одной категории. Изменение формы вывода.

CMS Joomla может обеспечить для сайта несколько видов навигации: постраничная навигациянавигация в материалах и навигация «хлебные крошки» (breadcrumbs).

Навигация очень важна не только для юзабилити сайта, но и для его поисковой оптимизации. С точки зрения поисковой оптимизации особую ценность представляют два вида навигации: навигация в материалах и «хлебные крошки». Если к хлебу у нас нет никаких претензий, то навигация в материалах просто ужасна.

Давайте углубимся в проблему и постараемся ее решить.

Статьи в пределах одной категории могут иметь свою собственную навигацию, которая позволяет посетителю переходить от статьи к статье, не возвращаясь на страницу вывода всех материалов категории. Также и поисковой робот, попав на одну страницу, может с легкостью проиндексировать все материалы категории, передвигаясь по навигационным ссылкам. Одно «но» - текст ссылок. О какой релевантности может идти речь?

Плагин Pagenavigation, отвечающий за навигацию в материалах в пределах одной категории, знает только две ссылки «Предыдущая» и «Завершение». Давайте научим его выводить вместо этих убогих ссылок заголовки соответствующих статей.

Для начала, включим плагин. Заходим в «Менеджер материалов» > «Параметры»  и включаем функцию «Показывать навигацию»,  сохраняем внесенные изменения в настройки вывода материалов.

Дальше идем в корневую директорию Joomla /plugins/content/pagenavigation.php /

Будем курочить файл pagenavigation.php следующим образом:

Строка 109 заменяем

$query = 'SELECT a.id,'

На

$query = 'SELECT a.id,a.title,'

Строка 153 заменяем

$row->prev = JRoute::_(ContentHelperRoute::getArticleRoute($row->prev->slug, $row->prev->catslug));

на

$prevTitle=$row->prev->title;

$row->prev = JRoute::_(ContentHelperRoute::getArticleRoute($row->prev->slug, $row->prev->catslug));

Строка 159 заменяем

$row->next = JRoute::_(ContentHelperRoute::getArticleRoute($row->next->slug, $row->next->catslug));

на

$nextTitle=$row->next->title;

$row->next = JRoute::_(ContentHelperRoute::getArticleRoute($row->next->slug, $row->next->catslug));

Строка 177 заменяем

. JText::_( '&lt' ) . $pnSpace . JText::_( 'Prev' ) . '</a>

на

. JText::_( '&lt' ) . $pnSpace . $prevTitle . '</a>

Строка 196 заменяем

. JText::_( 'Next' ) . $pnSpace . JText::_( '&gt' ) .'</a>

на

. $nextTitle . $pnSpace . JText::_( '&gt' ) .'</a

Оформление навигации вы можете прописать в файле template.css вашего шаблона \имя сайта\templates\имя шаблона \css\template.css при помощи следующих классов:

table.pagenav a, table.pagenav_prev a, table.pagenav_next a

Дерзайте, и ваша навигация будет не только информативной, но и красивой, а также  улучшит индексацию страниц вашего сайта поисковыми  роботами.


 
Каталог@Mail.ru - каталог ресурсов интернет

Рейтинг@Mail.ru