Я не слишком хорош в Zend Routes, но, глядя на ваш код, вам нужен способ определить, к какому модулю он должен обращаться.У вас установлен по умолчанию для всех случаев.Было бы неплохо, если бы он был динамичным, как у вас, но я думаю, вам нужно будет настроить маршруты специально для форумов и т. Д. Учитывая, что Zend должен знать, куда его отправлять.Если вы можете понять, как использовать переменную: @module для отправки этого модуля, это сработало бы, но я не знаю / думаю, что это возможно.
После прочтения руководства я придумал эту структуру для вас.Вам нужно будет определить каждый элемент, например форумы, на который вы хотите перенаправить, как показано ниже.
<config>
<routes>
<language type="Zend_Controller_Router_Route">
<route>:language</route>
<reqs language="[a-z]{2}">
</language>
<index type="Zend_Controller_Router_Route_Static">
<route></route>
<defaults module="default" controller="index" action="index" />
</index>
<about type="Zend_Controller_Router_Route_Static">
<route>about</route>
<defaults module="default" controller="index" action="about" />
</about>
<forums type="Zend_Controller_Router_Route_Static">
<route>forums</route>
<defaults module="forums" controller="index" action="index" />
</forums>
<lang-forums type="Zend_Controller_Router_Route_Chain">
<chain>language, forums</chain>
</lang-forums>
<lang-about type="Zend_Controller_Router_Route_Chain">
<chain>language, about</chain>
</lang-about>
</routes>
</config>
Я не уверен на 100% в части about
, особенно в цепочке, но в беспорядкес этим должен дать вам правильный путь.
РЕДАКТИРОВАТЬ
Ниже приведен в такте, как еще один возможный пример.Я думаю, что у меня есть правильный ответ выше.
Глядя на Руководство по Zend Routes , очень сложно понять, как его настроить.Мне также не нравится работать в формате xml, я предпочитаю .ini, но вот «макет psuedo» о том, как он должен работать (не проверено, учитывая, что это будет трудно проверить):
lang.index.type = "Zend_Controller_Router_Route"
lang.index.route = ":language"
lang.index.defaults.controller = index
lang.index.defaults.action = index
lang.forums.index.type = "Zend_Controller_Router_Route_Static"
lang.forums.index.route = "forums"
lang.forums.index.controller = forums
lang.forums.index.action = index
lang.forums.register.type = "Zend_Controller_Router_Route_Static"
lang.forums.register.route = "forums/register"
lang.forums.register.controller = forums
lang.forums.register.action = register
lang.forums.login.type = "Zend_Controller_Router_Route_Static"
lang.forums.login.route = "forums/login"
lang.forums.login.controller = forums
lang.forums.login.action = login
lang.forums.view.type = "Zend_Controller_Router_Route_Static"
lang.forums.view.route = "forums/thread/:slug"
lang.forums.view.controller = forums
lang.forums.view.action = view
lang.other.index.type = "Zend_Controller_Router_Route_Static"
lang.other.index.route = "other"
lang.other.index.controller = other
lang.other.index.action = index
lang.other.view.type = "Zend_Controller_Router_Route_Static"
lang.other.view.route = "other/:slug"
lang.other.view.controller = other
lang.other.view.action = view
Надеюсь, это подтолкнет вас к правильному мышлению о том, что вам нужно делать.Если кто-то еще знает, как это сделать динамически, мне было бы интересно!Я буду работать над методом xml и посмотрю, не смогу ли я понять, как это сделать правильно, из ужасной документации.