Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 2502 Просмотров
*

Light_And_Dark

  • Захожу иногда
  • 65
  • 0 / 0
Решила прописать в пагинаторе rel=”prev” и rel=”next”. Обнаружила, что теги <a> формируются в функции шалона в строке
Код
function pagination_item_active(&$item) {return "<div class=\"page-inactive\"><a href=\"".$item->link."\" title=\"".$item->text."\">".$item->text."</a></div>";
А вот информация в него забрасывыается непомтредственно из пагинатора Joomla в строках типа:
Код
 $list['next']['data'] = ($itemOverride)? pagination_item_active_next($data->next) : $this->_item_active($data->next);
Изначально идея была следующая - создать отдельную функции для создания тегов <a> под ссылки, где будет проставлено rel=”prev” и rel=”next” и настроить их вызов в джумал пагинаторе.
Так и было прописано - принципе на страницах сайта все даже заработало:
Этот дополнительный код был вставлен пагинатор шалона:
Код
function pagination_item_active_next(&$item) {
return "<div class=\"page-inactive\"><a href=\"".$item->link."\" title=\"".$item->text."\">".$item->text."</a></div>";
}
function pagination_item_active_previous(&$item) {
return "<div class=\"page-inactive\"><a href=\"".$item->link."\" title=\"".$item->text."\">".$item->text."</a></div>";
}
А кусочки кода в вызове функции стали а пагинаторе joomla:
Код
		if ($data->next->base !== null) {
$list['next']['active'] = true;
$list['next']['data'] = ($itemOverride)? pagination_item_active_next($data->next) : $this->_item_active($data->next);
if ($data->previous->base !== null) {
$list['previous']['active'] = true;
$list['previous']['data'] = ($itemOverride)? pagination_item_active_previous($data->previous) : $this->_item_active($data->previous);
Большt никаких корректировок не вносилось.
Сам сайт снаружи работает чудесно, но вот панель управления превратилась в белое окно с некорректной кодировкой и без каких либо изображений. Я так понимаю из-за ява скриптов, которые подгружаются в пагинатор Joomla при восоздании содержимого админ панели.
Удаление всех изменений пагинатор Joomla вернул все в нормальное состояние, но вот идея проставить rel=”prev” и rel=”next” все же осталась. Подскажите какие внесити кореектрировки в Joomla пагинатор, что бы он корректно обрабатывал содержимое админ панели, но при этом что бы ссылки на сайте предыдущая и следующая имели rel=”prev” и rel=”next”. Это вообще на Joomla 1.5 возможно?
*

Denis_SS

  • Новичок
  • 1
  • 0 / 0
Мое решение, добавляем теги rel="prev" и rel="next" . Беремся с дублями страниц в (Joomla! 2.5.22) + Joomshoping (Version 3.16.1) по рекомендациям Google   https://support.google.com/webmasters/answer/1663744?hl=ru

Все изменения сделаны в файле /httpdocs/libraries/joomla/html/pagination.php

(думаю правильней сделать его копию в папку с шаблоном /html/pagination.php  и он сам должен подгрузится, иначе при обновлении может слететь)
Изменения между комментариями //Denis_S ..... //End Denis_S,  в комментариях думаю всё понятно.
пробуйте, проверяйте, отписывайтесь.
Ногами не пинать если где криво, я не программист)))

----------------------------
      if ($data->previous->base !== null)
      {
         $list['previous']['active'] = true;
         $list['previous']['data'] = ($itemOverride)? pagination_item_active($data->previous) : $this->_item_active($data->previous);
         //Denis_S    формируем rel=prev
                  $document =& JFactory::getDocument();
                  $link = $data->previous->link;
                  $document->addHeadLink(JURI::root().substr($link,1), 'prev', 'rel', '');
                   //End Denis_S    формируем rel=prev   
   
      }
      else
      {
         $list['previous']['active'] = false;
         $list['previous']['data'] = ($itemOverride)? pagination_item_inactive($data->previous) : $this->_item_inactive($data->previous);
      }

----------------------------

      if ($data->next->base !== null)
      {
         $list['next']['active'] = true;
         $list['next']['data'] = ($itemOverride)? pagination_item_active($data->next) : $this->_item_active($data->next);      
         //Denis_S    формируем rel=next
                  $document =& JFactory::getDocument();
                  $link = $data->next->link;
                  $document->addHeadLink(JURI::root().substr($link,1), 'next', 'rel', '');
                   //End Denis_S    формируем rel=next         
   
      }
      else
      {
         $list['next']['active'] = false;
         $list['next']['data'] = ($itemOverride)? pagination_item_inactive($data->next) : $this->_item_inactive($data->next);
      }

----------------------------

      if ($this->total > $this->limit)
      {
         //Denis_S   добавляем в Title (страница x из n)
            $document->setTitle($document->getTitle().'   | '.$this->getPagesCounter());
         //End Denis_S   добавляем в Title (страница x из n)

         return ($listOverride)? pagination_list_render($list) : $this->_list_render($list);         
      }
      else
      {
         return '';
      }
« Последнее редактирование: 23.10.2014, 18:03:54 от Denis_SS »
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
joomla_1.5/plugins/content/pagenavigation.php

Код
		// output
if ($row->prev || $row->next)
{
$html = '
<table align="center" class="pagenav">
<tr>'
;
if ($row->prev)
{
$html .= '
<th class="pagenav_prev">
<a href="'. $row->prev .'" rel="prev">'
. $pnSpace . $prevTitle . '</a>
</th>'
;
}

if ($row->prev && $row->next)
{
$html .= '
<td width="50">
&nbsp;
</td>'
;
}

if ($row->next)
{
$html .= '
<th class="pagenav_next">
<a href="'. $row->next .'" rel="next">'
. $nextTitle . $pnSpace .'</a>
</th>'
;
}
$html .= '
</tr>
</table>'
;
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Next/prev при пагинации

Автор Siriuss

Ответов: 0
Просмотров: 1753
Последний ответ 10.04.2018, 09:38:47
от Siriuss
Как создать новую галерею, куда прописать ссылку?

Автор yoursergeich

Ответов: 9
Просмотров: 1723
Последний ответ 17.06.2015, 16:40:54
от vipiusss
Как правильно сделать самостоятельно бекап Joomla 1.5

Автор Anexin

Ответов: 16
Просмотров: 3798
Последний ответ 25.04.2014, 15:37:54
от Alevlen
Как правильно разместить на сайте газету

Автор Selena36

Ответов: 8
Просмотров: 2055
Последний ответ 23.10.2013, 14:06:38
от azx
Как прописать позицию модуля в статье

Автор Silverstreet

Ответов: 16
Просмотров: 5614
Последний ответ 20.08.2013, 06:24:03
от Dmitriy M