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

Mike_S

  • Захожу иногда
  • 10
  • 0
Всем доброго времени суток *DRINK*! Использую Joomla 2.5 и Virtuemart2.
Делаю сейчас отображение номера страницы в title. Нашел решение для Joomla 1.5. Решил изменить его под свой движок.

head.php
Код
		$tab = $document->_getTab();
$limitstart = JRequest::getInt('limitstart', 0);
                $limit = JRequest::getInt('limit', 0);
                $option = JRequest::getVar('option','');
$curpage = ceil(($limitstart + 1) / $limit);

Вывожу в title

Код
		if ($curpage > 1 && $option=='com_virtuemart') $title_page= " ".JText::_( 'PAGE' )." - ".$curpage;
$buffer .= $tab . '<title>' . htmlspecialchars($document->getTitle(), ENT_COMPAT, 'UTF-8'). ' '.$title_page.'</title>' . $lnEnd;

$limit = JRequest::getInt('limit', 0); возвращает 0 на любой странице. Подскажите пожалуйста способ, как можно получить номер страницы для вывода в title.
*

Liss

  • Давно я тут
  • 238
  • 9
открываешь libraries/joomla/html/pagination.php
ищешь функцию function getPagesCounter() (в районе 220 строки)
после этой функции создаешь свою
Код: php
 public function getPagesCurrent() // функция отдающая текущий номер страницы
{
  $html = null;
  $html = $this->get('pages.current');
  return $html;
}


в нужном месте вызываешь эту функцию
Код: php
echo $this->vmPagination->getPagesCurrent();
*

fsv

  • Moderator
  • 2525
  • 367
открываешь libraries/joomla/html/pagination.php
... внимательно смотришь, ничего не трогаешь, закрываешь. Радуешься, что оставляешь за собой возможность обновляться.

Все изменения - в переопределенных шаблонах (или плагинами).

Вместо limit:
Код: php
$llimit_init_FE = VmConfig::get('llimit_init_FE', 24);
Заказать разработку:    расширения Joomla  |   интерфейсы на javascript(jQuery)  |  мобильные приложения
*

Liss

  • Давно я тут
  • 238
  • 9
Цитировать
Радуешься, что оставляешь за собой возможность обновляться

Joomla 2.5, VM 2 и "обновляться" уже давно не актуально
*

Mike_S

  • Захожу иногда
  • 10
  • 0
в нужном месте вызываешь эту функцию
Код: php
echo $this->vmPagination->getPagesCurrent();
Не сработало, после добавления $curpage=$this->vmPagination->getPagesCurrent(); - ошибка, белый лист.

Вместо limit:
Код: php
$llimit_init_FE = VmConfig::get('llimit_init_FE', 24);

Это решение помогло. Таким образом код получился таким:

Получаем данные

Код: php
$limitstart = JRequest::getInt('limitstart', 0);
$limit = VmConfig::get('llimit_init_FE', 24);
$option = JRequest::getVar('option','');
$curpage = ceil(($limitstart + 1) / $limit);

Выводим в title

Код: php
		if ($curpage > 1 && $option=='com_virtuemart') $title_page= " | Страница - ".$curpage;
$buffer .= $tab . '<title>' . htmlspecialchars($document->getTitle(), ENT_COMPAT, 'UTF-8'). ' '.$title_page.'</title>' . $lnEnd;

В результате получаем title такого вида - "Основной заголовок | Страница - 2"
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться