URL总是附加? CakePHP的

时间:2013-05-03 15:00:13

标签: php cakephp routes

我是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

请帮助我,为什么它总是附加网址?

感谢。

3 个答案:

答案 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;
?>