我有这样的路线:
resources.router.routes.home.route = /:state/:city
resources.router.routes.home.defaults.module = default
resources.router.routes.home.defaults.controller = index
resources.router.routes.home.defaults.action = index
resources.router.routes.home.defaults.state = ''
resources.router.routes.home.defaults.city = ''
我网站上的大多数链接都需要这两个参数(州和城市),比如
www.mysite.com/sp/sao-paulo/establishments
www.mysite.com/sp/sao-paulo/establishment-name
www.mysite.com/sp/sao-paulo/establishments-category
我需要检查用户访问我的网站时是否已经设置了这两个参数。如果没有,我会在他选择城市时将他重定向到特定页面。
我相信实现这一目标的最佳方法是创建一个我已经开始的插件。
class App_Controller_Plugin_CheckCity extends Zend_Controller_Plugin_Abstract {
protected $_session;
public function preDispatch(Zend_Controller_Request_Abstract $request) {
$this->_session = new Zend_Session_Namespace('locationInformation');
if (!isset($this->_session->state) || !isset($this->_session->city)) {
// ...
} else {
// ...
}
}
}
问题是我不知道该怎么做,如果这真的是最好的方法。
这是正确的路径吗?如果没有,我该怎么做才能解决我的问题?如果是,这个插件还需要什么?
我希望我说清楚了。我很感激任何帮助。
谢谢你。