【发布时间】:2021-10-04 16:44:37
【问题描述】:
由于某种原因,我无法让 HTML 助手输出 /users/workspace
我目前正在/users/login上测试以下代码
echo '<li>'.$this->Html->link(h($this->request->getParam('controller')),['controller' => $this->request->getParam('controller'), 'action' => 'workspace']).'</li>';
echo '<li>'.$this->Html->link(h($this->request->getParam('controller')),['controller' => $this->request->getParam('controller'), 'action' => 'anything-here-works']).'</li>';
将输出:
<li><a href="/slat">Users</a></li>
<li><a href="/slat/users/anything-here-works">Users</a></li>
workspace 是保留字还是什么?我错过了什么或不理解什么?
我正在使用 CakePHP 3.10。
注意路线设置:
$routes->connect('/', ['controller' => 'Users', 'action' => 'workspace']);
【问题讨论】:
-
您的路由设置表明
Users控制器的workspace操作将在/可用。假设/slat是您的应用前缀。所以,这正是它在这种情况下应该输出的内容。 -
在这种情况下,解决方案是否会在调用 HTML 帮助程序时指定 URL? (即/users/workspace?)似乎工作。
-
当“/”可以为您提供该页面时,您为什么要使用“/users/workspace”?
-
默认情况下,我的 root 是 users/workspace,它需要一些凭据,然后转发到 /users/login。对于非管理员用户,他们看不到用户/索引,因此我需要将链接放在顶部,这实际上是面包屑,是用户/工作区。
-
有些东西阻止您使用“用户/工作区”作为链接文本,但使用“/”作为 URL 的面包屑?
标签: php cakephp cakephp-3.0