我正在尝试在default.ctp布局文件中创建链接到管理页面的链接。
在route.php中我有这个:
$_server['PHP_self']
在default.ctp模板文件中,我试过这个:
Router::prefix('admin', function ($routes) {
// All routes here will be prefixed with `/admin`
// And have the prefix => admin route element added.
$routes->connect('/login', array('controller' => 'Users', 'action' => 'login'));
$routes->connect('/logout', array('controller' => 'Users', 'action' => 'logout'));
$routes->fallbacks(DashedRoute::class);
});
但是,它创建的链接是:
echo $this->Html->link('Build Settings', '/buildsettings', array('admin' => true));
echo $this->Html->link('Build Settings', '/buildsettings', array('prefix' => 'admin'));
echo $this->Html->link('Build Settings', '/buildsettings', array('prefix' => 'admin', 'admin' => true));
虽然它应该是这样的:
<a href="/buildsettings" admin="1">Build Settings</a>
转到 / admin / buildsettings ,实际上是转到admin buildsettings控制器,所以我知道路由本身有效,只是没有创建正确的链接。
我在这里做错了什么?
答案 0 :(得分:3)
您正在寻找的内容有点隐藏在文档中。事实上,我认为,你所寻找的直接事物并不存在。您可以在链接到控制器和操作时添加前缀,但是为了提供没有控制器的链接,您无法添加前缀。但是,有一种方法可以达到你想要的效果。
<?php echo $this->Html->link('Build Settings', ['prefix' => 'admin','controller' => 'buildsettings']); ?>
用于诸如
double* matData = new double[N*M];