我是CakePHP的新手;
单击每个菜单后,始终会附加URL地址栏;
我已将路线定义如下:
Router::connect('/brand/*', array('controller' => 'phones', 'action' => 'phonebybrand'));
这是我的菜单:
<?php
foreach ($phonebrands as $phonebrand):
echo '<li><a href="brand/{$phonebrand['Phonebrand']['id']}">{$phonebrand['Phonebrand']['brandname']}</a></li>';
endforeach;
?>
我试图多次点击我的菜单;我发现的是始终附加的URL;
第一次:localhost / cakephp-2.3.2 / brand / 43
第二次:localhost / cakephp-2.3.2 / brand / brand / 43
第3次:localhost / cakephp-2.3.2 /品牌/品牌/品牌/ 43
请帮助我,为什么它总是附加网址?
感谢。
答案 0 :(得分:1)
您可能无法正确获取基本网址。
在您的视图中尝试此操作
<?php
foreach ($phonebrands as $phonebrand) {
echo '<li><a href="'.$this->Html->url('/', true).'brand/{$phonebrand['Phonebrand']['id']}"> {$phonebrand['Phonebrand']['brandname']}</a></li>';
}
?>
否则将$this->Html->url()
替换为Router::url('/', true);
This post可能有帮助。
答案 1 :(得分:0)
您可能正在添加“cakephp-2.3.2 / brand / 43”而不是“/cakeph.2-2.2/brand/43”
答案 2 :(得分:0)
使用以下命令替换菜单代码时会发生什么:
<?php
foreach ($phonebrands as $phonebrand):
echo '<li><a href="/brand/{$phonebrand['Phonebrand']['id']}">{$phonebrand['Phonebrand']['brandname']}</a></li>';
endforeach;
?>