Вы можете достичь этого довольно легко, используя пользовательские маршруты. Поскольку вы ничего не указали о том, как вы структурировали свой код, я собираюсь сделать следующие предположения:
- На вашем сайте есть "разделы", такие как фотография и программирование, которые определяются по параметру
- У вас есть один контроллер, который обрабатывает вопросы для всех разделов, но выбирает все на основе параметров
Во-первых, для случая домашней страницы:
Маршрут :section
и укажите значения по умолчанию для модуля, контроллера и действия, которые обрабатывают домашние страницы вашего раздела.
Во-вторых, для вопроса:
Маршрут :section/questions/:id/:title
и снова укажите значения по умолчанию для модуля, контроллера и действия, которое обрабатывает конкретные вопросы. Вы также можете определить заголовок по умолчанию как пустой, потому что вопрос уже можно найти только на основе идентификатора.
Затем в своих контроллерах вы можете просто использовать что-то вроде $this->_getParam('section')
, чтобы определить, какой раздел следует использовать, и т. Д.
Если вы не знаете, как создать эти маршруты, я предлагаю вам изучить руководство для Zend_Controller_Router и руководство для ресурсов Zend_Application , чтобы узнать, как определить маршруты в вашем application.ini