Имеются повторяющиеся подкатегории, к примеру:
Samsung - комплектующие
LG - комплектующие
т.е. в данном случае повторяются подкатегории комплектующие
при создании таких подкатегорий, seo url которых komplektujushhie, выдаётся ошибка: Этот SEO keyword уже используется!
ocstore 2.3
в файле admin/controller/catalog/category.php отключил часть кода, отвечающую за валидацию поля, в котором прописывается seo url - keyword, а именно:
if (utf8_strlen($this->request->post['keyword']) > 0) {
$this->load->model('catalog/url_alias');
$url_alias_info = $this->model_catalog_url_alias->getUrlAlias($this->request->post['keyword']);
if ($url_alias_info && isset($this->request->get['category_id']) && $url_alias_info['query'] != 'category_id=' . $this->request->get['category_id']) {
$this->error['keyword'] = sprintf($this->language->get('error_keyword'));
}
if ($url_alias_info && !isset($this->request->get['category_id'])) {
$this->error['keyword'] = sprintf($this->language->get('error_keyword'));
}
}
теперь повторяющие подкатегории проходят валидацию, но на фронтенде, при открытии такой подкатегории, к примеру /samsung/komplektujushhie, эта страница открывается нормально,
но если открыть /lg/komplektujushhie, то url выглядит примерно так: /index.php?route=product/category&path=..., т.е. seo url не срабатывает.
Подскажите, как исправить данную проблему, при том, что подкатегория комплектующие в разных категориях может быть на разных уровнях вложенности
В стандартном опенкарт этого сделать невозможно. Там все url хранятся в одной таблице и один Url может соответствовать только одной сущности. В данном случае категории. И когда вы сохраняете одну катгеорию с этим url, она перезаписывает данные другой. Чтобы сделать так, как хотите вы, надо переделывать работу опенкарт с url. Нпр хранить в категориях это url и переделать скрипт, который по url ищет категорию и наоборот формирует url с учетом этих изменений.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости