Modx revo + catalogfill не работают алиаси
После года прекрасной работы вдруг при импорте перестало создавать алиасы для товаров
в настройках системы
Автоматически генерировать псевдоним — включено
Транслитерация псевдонимов — russian
Использовать дружественные URL — включено
Если отрубить «Использовать дружественные URL» на время заливания товара, после заливки врубить, то ссылки формируются нормально, но сайт начинает жутко лагать
в настройках системы
Автоматически генерировать псевдоним — включено
Транслитерация псевдонимов — russian
Использовать дружественные URL — включено
Если отрубить «Использовать дружественные URL» на время заливания товара, после заливки врубить, то ссылки формируются нормально, но сайт начинает жутко лагать
Комментарии: 4
Если установлен пакет ytranslit возможно у вас используется старый API транслитирации Яндекса. Перейдите на свежую версию и проверьте работу.
Если товар создавать вручную все ок, если закидывать через cataligfill то в карточке товара алиас правильный, а вот на сайте он такой
joxi.ru/KAxoY6QHdeng28
алиас получается с предыдущей категорией!!!
joxi.ru/KAxoY6QHdeng28
алиас получается с предыдущей категорией!!!
Поэтому решил проблему так:
в файле core/components/catalogfill/model/catalogfill.class.php на строке 1034 есть функция getAliasPath($fields). В ней есть строка:
$output = $this->config['parent_paths'][$fields['parent']].$fields['alias'].$this->config['extension'];
Заменил ее на следующую конструкцию:
$use_alias_path = $this->modx->getOption('use_alias_path', null);
if ($use_alias_path == 1) {
$output = $this->config['parent_paths'][$fields['parent']].$fields['alias'].$this->config['extension'];
} else {
$output = $fields['alias'].$this->config['extension'];
}
в файле core/components/catalogfill/model/catalogfill.class.php на строке 1034 есть функция getAliasPath($fields). В ней есть строка:
$output = $this->config['parent_paths'][$fields['parent']].$fields['alias'].$this->config['extension'];
Заменил ее на следующую конструкцию:
$use_alias_path = $this->modx->getOption('use_alias_path', null);
if ($use_alias_path == 1) {
$output = $this->config['parent_paths'][$fields['parent']].$fields['alias'].$this->config['extension'];
} else {
$output = $fields['alias'].$this->config['extension'];
}
Ну с самого начала логично было бы обратиться к создателю пакета (Андрей Чирко его сделал, если память мне не изменяет), т.к. тут явно в нем ошибка была.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.