ЧПУ без ID для Prestashop 1.5.X.X

ставил модуль fmmseourl, затем редактировал файл override\controllers\front\CategoryController.php
изменения в файле в прицепе
Подскажи, пожалуйста, как у тебя настроены ЧПУ производителей? У меня что-то редиректит их на 404.
 
Спасибо огромное
ошибка была еще в вневнимательности

вот тут по инерции
*****
найти:
if ($link_rewrite){
вставить перед:
******
вставил ПОСЛЕ, а не перед

потом правда не заработало
прописал
Путь к категории {categories:/}{rewrite}/
теперь все хорошо, подкатегории с одинаковыми именами отображаются правильно

наздоровье, рад, что все у вас получилось
 
Подскажи, пожалуйста, как у тебя настроены ЧПУ производителей? У меня что-то редиректит их на 404.

производителей не использую, по этому с ними даже не разбирался
за производителей отвечает файл override\controllers\front\ManufacturerController.php
 
производителей не использую, по этому с ними даже не разбирался
за производителей отвечает файл override\controllers\front\ManufacturerController.php
Методом тыка разобрался, чтобы работали ссылки без ID с модулем fmmseourl на страницы производетелей, надо вписать именно так "Маршрут к производителю" manufacturer{/:rewrite} (стандартный mahufacturer/{id}-{rewrite}/ и mahufacturer/{rewrite}/ не работают)

Чтобы работал стандартный фильтр blocklayered надо в "Путь к категории с атрибутом selected_filter для модуля многоуровневой навигации" вписать так {rewrite}/filter{selected_filters}
 
Последнее редактирование:
производителей не использую, по этому с ними даже не разбирался
за производителей отвечает файл override\controllers\front\ManufacturerController.php
Я понимаю, что с производителями вы не работает, но возможно вы легко решите эту задачу
перезапись их работает, если путь указан так
manufacturer{/:rewrite}
или так
manufacturer/{rewrite}.html

но надо сделать чтобы на конце ссылок был /
пробовал в настройках уже любые варианты
manufacturer{/:rewrite:/}
manufacturer{/:rewrite}/
manufacturer/{rewrite:/}
и многое другое и не работает, выкидывает 404 либо на страницах производителей, либо на странице списка производителей, либо и там и там
Видимо проблема в коде.
Только что обнаружилось что не понимает производителей с русскими именами и символами & и . в имени. ((
Кидает на страницу списка производителей при нажатии на них.
Сможете помочь разобраться?
 
Последнее редактирование:
Использую SEO Pretty URL Module v2.1 (BVK Software).
Установился и стабильно работает на версии PS 1.6.0.6.

Для автоматической переадресации со старых URL с ID на новые обязательно включить следующую опцию в настройках PS.
Настройки > SEO и URLs > URL - адреса установки > Редирект на канонический (основной) URL > 301 перемещен навсегда.
 
Плюнул на все эти мучения с ЧПУ без ID, потому как то одно не работает, то другое...
Сделал вот в таком формате
Путь к товарам {rewrite}/p{id}/
Путь к категории {categories:/}{rewrite}/c{id}/
смотрится нормально
такие урлы на розетке, а они б такое не делали, если бы оно сильно влияло на что-то
Скрытое содержимое доступно для зарегистрированных пользователей!

зато все модули и страницы работают!
вот рабочий проект

Скрытое содержимое доступно для зарегистрированных пользователей!
 
Народ, присоединяйтесь к складчине на
Advanced Search 4
все равно он вам рано или поздно пригодится, а альтернатив нет

Скрытое содержимое доступно для зарегистрированных пользователей!
 
Подскажи, пожалуйста, как у тебя настроены ЧПУ производителей? У меня что-то редиректит их на 404.

А я решил эту проблему. Всё дело окзалось в ЧПУ, оно почему то не заносилось в базу данных. Я принудительно в админке создал поле ЧПУ обязательным для заполнения. Теперь ЧПУ для производителей заполняю вручную и ошибка 404 не вылазит.

Нужно в AdminManufacturersController.php дописать:

array(
'type' => 'text',
'label' => $this->l('SEO:'),
'name' => 'link_rewrite',
'size' => 40,
'required' => false,
'hint' => $this->l('Invalid characters:').' <>;=#{}'
),

и в Manufacturer.php

'link_rewrite' => array('type' => self::TYPE_STRING, 'validate' => 'isCatalogName', 'required' => true, 'size' => 64),

а так же изменить функцию

public function getLink()
{
return Tools::link_rewrite($this->link_rewrite);
}
 
Нужно поправить адреса нескольких страниц, может можно ручками без модулей?
 
Назад
Сверху