我正在使用CakePHP 2.9进行数学测验。我在CakePHP中的状态是“初学者”。
我想在app / Layouts / default.ctp中创建指向高分页面的链接。 因此,我将指向CakePHp网站的默认链接编辑为
<li><a target="_blank" href=".<?php $this->Getscores->getscores();?>.">High scores</a></li>
。
但是到目前为止,我单击链接时唯一观察到的就是重定向到登录页面,没有堆栈跟踪或错误消息。
这是我作为沙发手所做的:
GetscoresController.php
中创建一个名为app/Controller/
的控制器GetscoresController.php
中将类名称设置为GetscoresController
getscores()
中创建了一个公共函数GetscoresController
为了降低复杂性,我仅在此函数中创建分配给值“ hiscores”的变量$myvar
:
$myvar='hiscores';
$this->set(compact('myvar');
仅使用代码在app / View / Getscores /中创建了一个getscores.ctp
<?php echo $this->myvar; ?>
在app / Config / routes.php中创建了一条额外的路由:
Router::connect('/', array('controller' => 'getscores', 'action' => 'index', 'getscores'));
我想知道为什么我采取的步骤显然不能令人满意地使链接正常工作。 谁能指出我做错了什么并帮助我设置正确的链接?
答案 0 :(得分:1)
为什么不使用html helper?
<li>
<?= $this->Html->link('High scores', [
'controller'=> 'Getscores',
'action' => 'getscores',
$myvar // <-------------------
],
['_target' => 'blank'] ); ?>
</li>