Zend Внедрение SEO-дружественных или тщеславных URL-адресов с маршрутизатором - PullRequest
0 голосов
/ 02 марта 2012

У меня есть простое веб-приложение для электронной коммерции с URL-адресами продуктов:

http://www.example.com/product/view/product_id/15

, где «Product» - контроллер, а «view» - действие в контроллере продукта

Как мне изменить этот URL, чтобы он отображался как:

http://www.example.com/product/view/product_name/iphone-4S-16-gb

, где product_id "15" - это первичный ключ в таблице продуктов, а product_name имеет значение "iphone 4s 16 gb" без дефисов

Какой самый простой способ для меня сделать это изменение. Буду очень признателен за вашу помощь. Большое спасибо.

1 Ответ

0 голосов
/ 02 марта 2012
resources.router.routes.view-article.type = "Zend_Controller_Router_Route_Regex"
resources.router.routes.view-article.route = "articles/(?!archive)([a-zA-Z\-]+)/(\d+)(?:/(.*))?"
resources.router.routes.view-article.reverse = "articles/%s/%d/%s"
resources.router.routes.view-article.defaults.module = "articles"
resources.router.routes.view-article.defaults.controller = "view"
resources.router.routes.view-article.defaults.action = "view-article"
resources.router.routes.view-article.map.1 = topicSlug
resources.router.routes.view-article.defaults.topicSlug = topicSlug
resources.router.routes.view-article.map.2 = id
resources.router.routes.view-article.defaults.id = 0
resources.router.routes.view-article.map.3 = articleSlug
resources.router.routes.view-article.defaults.articleSlug = articleSlug

ссылки типа http://example.com/articles/circus/616/4-marta-vse-za-ruletkami

http://example.com/products/category/product_id/product_name

РЕДАКТИРОВАТЬ 1

- это настройка для стандартного подключаемого модуля маршрутизатора.отображается как articles из моего модуля блога, но легко обновляется для магазина.

parts - http://example.com/ is host :) articles/circus/ => mapeed модуля и контроллера.

resources.router.routes.view-article.map.1 = topicSlugэто категория.для магазина.

616/4-marta-vse-za-ruletkami ID и любой слизень.описание продукта, например, «iphone-4S-16-gb»

по умолчанию в конфигурации.

другой пример /{maps2module}/{maps2topicSlug}/{maps2id}/{maps2articleSlug}

...