Я разрабатываю Zend Application
, в котором мне нужно реализовать slug based URL
, так как Wordpress
делает для своей страницы/сообщения. Я сделал это для static pages
, его работая отлично, как мне нужно. Вот другой сценарий. Я пробую маршрут к соответствующему модулю/контроллеру.Zend framework SEO дружественная маршрутизация URL-адресов на основе категории/подкатегории/продукта slug
Есть две вещи
В моем приложении
Category/Subcategory
есть. например:cat1, cat2
subcat11, subcat12, subcat21, subcat22, subcat23
Products
, которые назначены на-крайней мере одинsubcategory
. например:product1, prdocut2, product3
Примечание: Категория, категория, название продукта используется в примере, являются слизняк.
URL-адрес должен быть:
Для Категория: http://domain.com/cat1
Для Subcategory: http://domain.com/cat1/subcat11
Для продукта: http://domain.com/product1
Я разработал три контроллера для каждого. Листинг показывает их действие Index
.
CategoryController, SubcategoryController, ProductController
Если я применяю маршрутизации в начальной загрузке приложения, индекс Сайта страница перенаправляет на страницу категории.
$categoryrouter = new Zend_Controller_Router_Route('/:categoryslug/',
array(
'module' => 'default',
'controller' => 'category',
'action' => 'index',
'categoryslug' => 'mobiles'
)
);
$chain->chain($categoryrouter);
$router->addRoute('categoryrouter', $categoryrouter);
Возможно, это дублированный вопрос, но я много искал и не нашел ничего подходящего ответа на эту проблему.
Спасибо, я уже проверил эту ссылку. он работает хорошо только для одного пули (для категории http://domain.com/cat1 и продукта http://domain.com/product1), но не для подкатегории http://domain.com/cat1/subcat11. У меня есть статические страницы и страницы клиентов. Для чего я использовал Route Chaining. – Tsimtsum
Принцип все тот же для иерархической маршрутизации, но в функции соответствия класса маршрута вы проверяете pathBits в цикле –