Ответить Новая тема Новый опрос 
Всего: 2 1 2 >
 rel=”prev”, rel=”next” для страниц пагинации
Excursionist
Новичок
Сообщений: 21
Регистрация: 10-07-2015


10-07-2015 19:59
Добрый день, подскажите, пожалуйста, как сделать разметку rel=”prev”, rel=”next” для страниц пагинации на сайте?

Версия PrestaShop™ 1.4.4.0

Захожу в шаблон, в каком файле мне надо добавлять данный код и куда?
Подскажите, пожалуйста.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
mirohlebkr


Новичок
Сообщений: 59
Регистрация: 20-05-2012


12-07-2015 11:59
Цитата:( Excursionist @ 10-07-2015 20:59 Смотреть сообщение )
как сделать разметку rel=”prev”, rel=”next” для страниц пагинации на сайте?
Тоже ищу решение этой задачи. Пока для решения нашел модуль
Duplicate Content handler
addons.prestashop.com/ru/seo/7228-duplicate-content-handler.html
Давайте купим его на двоих?!
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


12-07-2015 16:39
Откройте файл /classes/FrontController.php после:
Код:
if (!self::$initialized)
    $this->init();

добавьте:
Код:
if (Validate::isLoadedObject($this->category))
{
    $this->pagination($this->category->getProducts(NULL, NULL, NULL, NULL, NULL, true));
    $p = self::$smarty->getTemplateVars('p');
    $n = self::$smarty->getTemplateVars('n');

    if($p != self::$smarty->getTemplateVars('stop'))
        self::$smarty->assign('next', self::$link->goPage(self::$smarty->getTemplateVars('current_url'), $p+1));
    if($p != 1)
        self::$smarty->assign('prev', self::$link->goPage(self::$smarty->getTemplateVars('current_url'), $p-1));
}


Откройте файл /themes/тема/header.tpl до:
Код:
{if isset($css_files)}

добавьте:
Код:
{if isset($prev) && $prev}
    <link rel="prev" href="{$prev}" />
{/if}
{if isset($next) && $next}
    <link rel="next" href="{$next}" />
{/if}
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Excursionist
Новичок
Сообщений: 21
Регистрация: 10-07-2015


14-07-2015 19:40
Алекс, странно, но почему-то не работает.
Может, надо обновить кеш или что-то еще сделать после правки кода?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
savvato11


Cпециалист
Сообщений: 289
Регистрация: 01-09-2012


14-07-2015 19:52
Почистить кэш обязательно и включить перекомпиляцию смарти.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Excursionist
Новичок
Сообщений: 21
Регистрация: 10-07-2015


14-07-2015 20:20
savvato11, а если после перекомпиляции сайт падает?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


14-07-2015 20:26
Цитата:( Excursionist @ 14-07-2015 21:20 Смотреть сообщение )
если после перекомпиляции сайт падает?

Включите отображение ошибок:
Откройте файл /config/config.inc.php
Код:
ini_set('display_errors', 'off');
измените на:
Код:
ini_set('display_errors', 'on');


Кеш не может влиять на данную модификацию!
Удалять компиляцию не обязательно - если в настройках установлено перекомпилировать шаблон при модификации.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Excursionist
Новичок
Сообщений: 21
Регистрация: 10-07-2015


14-07-2015 20:41
Алекс, все вышло, спасибо.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Friman
Новичок
Сообщений: 2
Регистрация: 25-11-2015


25-11-2015 12:00
на Prestashop 1.6.0.9 работает? Спасибо.

Я пробовал, но безрезультатно
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


25-11-2015 23:27
Цитата:( Friman @ 25-11-2015 13:00 Смотреть сообщение )
на Prestashop 1.6.0.9 работает?

Для prestashop 1.6 код необходимо немного переписать:
Файл: /classes/controller/FrontController.php после:
Код:
$compared_products = array();
if (Configuration::get('PS_COMPARATOR_MAX_ITEM') && isset($this->context->cookie->id_compare))
    $compared_products = CompareProduct::getCompareProducts($this->context->cookie->id_compare);

добавьте подобный код:
Код:
if (get_class($this->context->controller) == 'CategoryController')
{
    $this->pagination($this->category->getProducts(NULL, NULL, NULL, NULL, NULL, true));
    $p = $this->context->smarty->getTemplateVars('p');
    $n = $this->context->smarty->getTemplateVars('n');
    if($p != $this->context->smarty->getTemplateVars('stop'))
        $this->context->smarty->assign('next', $this->context->link->goPage($this->context->smarty->getTemplateVars('current_url'), $p+1));
    if($p != 1)
        $this->context->smarty->assign('prev', $this->context->link->goPage($this->context->smarty->getTemplateVars('current_url'), $p-1));
}
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос 
Всего: 2 1 2 >