我为用户注册实现了一个弹出窗口:
这是元素文件夹中的popout.ctp形式,在default.ctp中调用:
echo $this->Form->create('User', array('url' => array('controller' => 'users', 'action' => 'register')));
echo $this->Form->hidden('popup');
echo $this->Form->input('email', array('label' => 'Your Email:'));
echo $this->Form->end('Sign me Up!');
当我在用户视图中打开任何操作时,注册按钮工作正常,页面被重定向到用户视图中的注册操作。
而当我在root,index页面中,在另一个视图中,按下注册按钮不会重定向到/ users / register并转到同一页面。
这是路由:
Router::connect('/users/register/', array('controller' => 'users', 'action' => 'register'));
Router::connect('/', array('controller' => 'events', 'action' => 'viewall'));
当我删除规则编号2,事件中的注册按钮'行动很好!
我不明白,这并没有达到第一条规则。
先谢谢你的帮助!
答案 0 :(得分:0)
如果没有任何进一步的信息,第二个实例可能会以某种方式覆盖第一个实例。另一种可能性是,以某种方式通往“行动”的道路。是无效的,或者控制器假定'动作'文件路径(我假设它' $ action' .php')是相对于路径' /'。
发现这个:
cakephp routing problem, plugin routing works but not others
具体来说:
事实证明这是因为应用程序文件夹中有一个用户模型和用户控制器以及插件控制器。因此,路由处理其他控制器就像它们不在那里一样。
现在全部修好了。
干杯,保罗
我相信,这与我最初的答案相吻合。