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'];
}
                Ну с самого начала логично было бы обратиться к создателю пакета (Андрей Чирко его сделал, если память мне не изменяет), т.к. тут явно в нем ошибка была.            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.