С какой версией OpenCart вы работаете? Последний?
Стандартная структура MVC OpenCart в сочетании с собственным PHP-кодированием делает его чрезвычайно гибким решением CMS (на самом деле я использую ядро для многочисленных типов сайтов).
OpenCart в настоящее время зависит от двух файлов, которые вы упомянули вместе с таблицей SEO в базе данных для обработки переписываний.
Это не «ломает» панировочные сухари. Хлебные крошки - больше помощь истории / навигации. С помощью URL-адресов SEO, если вы вводите URL конкретного продукта, вы сразу переходите к определенному элементу. Так что в иерархии это будет только один уровень ниже домашней страницы ..
например yoursite.com/seoproduct
'home' -> 'seo product'
Если вы используете навигационную иерархию, она по-прежнему отображается правильно (без упомянутого вами мода)
'home' -> 'категория ->' подкатегория '->' seo product '
Тем не менее, теоретически легко достичь того, что вы хотите, с помощью URL-адресов SEO. Достаточно простой модификации двух файлов.
На практике все зависит от того, как вы хотите с ними справиться ...
Как вы собираетесь обращаться с указанием SEO-адреса для продукта? На основании названия продукта? Модель продукта? Или вы собираетесь использовать нативное поле SEO в информации о продукте?
Если это последнее, корзина автоматически обработает перезапись. К сожалению, если позволить корзине обрабатывать ее изначально, это также несет в себе наибольший риск разрыва ссылок со временем по мере внесения изменений.
Если это один из первых вариантов, вам нужно будет внести некоторые изменения в способ обработки переписывания SEO.
Как только вы определите, как вы собираетесь обрабатывать переписывание, вы можете запустить его в действие ...
Самой простой модификацией было бы использование нативного SEO, но затем добавление избыточного резервного поиска. Если на контроллере common / seo не найдено никаких результатов, попросите его выполнить поиск. Если найден один, отобразите продукт - если найдено более одного, отобразите результаты ..
С другой стороны, вы можете полностью изменить оба файла и перейти к пользовательской обработке SEO. (снова используя поиск, чтобы найти продукт) ...
Я сделал это обоими способами ... Первый, как правило, имеет немного лучшую производительность, так как он выполняет поиск в базе данных / текст, только если прямой запрос не возвращает результатов ...