【问题标题】:Link for static page in CakePHP without appending the controllerCakePHP 中的静态页面链接,无需附加控制器
【发布时间】:2011-09-19 18:24:25
【问题描述】:

所以我在views > pages 文件夹中创建了几个静态页面。它们是contact.ctp 和privacy.ctp。在我的 routes.php 中,我做了它以便可以通过访问 domain.com/contact 和 domain.com/privacy 来查看它们:

    Router::connect('/contact', array('controller' => 'pages', 'action' => 'display', 'contact'));

    Router::connect('/privacy', array('controller' => 'pages', 'action' => 'display', 'privacy'));

现在,当我将它们链接到页脚时:

    <li><?= $this->Html->link('Contact', array('controller' => 'pages', 'action' => 'display', 'contact')); ?></a></li>

    <li><?= $this->Html->link('Privacy', array('controller' => 'pages', 'action' => 'display', 'privacy')); ?></a></li>

它们以 domain.com/pages/terms 的形式链接。如何在不提供绝对 URL 的情况下阻止它附加页面控制器(即不做:&lt;?= $this-&gt;Html-&gt;link('Contact', 'http://www.domain.com/contact'); ?&gt; 或者这是唯一的其他方式?

【问题讨论】:

  • 您的代码无法正常工作似乎没有任何原因(Cake 1.3 使用反向路由来准确实现您想要的)。你有没有修改任何核心?编辑 - cake 甚至在 API 中给出了这个例子:Router::connect('/home-page', array('controller' =&gt; 'pages', 'action' =&gt; 'display', 'home')); 所以看起来你的代码没问题

标签: php cakephp cakephp-1.3


【解决方案1】:

您可能将这些路由放在Router::connect('/pages/*', array('controller' =&gt; 'pages', 'action' =&gt; 'display')); 之后,只需颠倒该顺序即可。

【讨论】:

  • 哦,是的!和 Cake 一起学习很多错综复杂的东西,但我越学越喜欢它。非常感谢!
【解决方案2】:

路线

Router::connect('/*', array('controller' => 'pages', 'action' => 'display'));

查看

 echo $this->Html->link('Target', $this->Html->url(array('controller'=>'pages', 'action'=>'display', 'target', 'ext'=>'html')));

输出

<a href="target.html">Target</a>

【讨论】:

    【解决方案3】:

    使用实际链接?

    <a href ="/contact">Contact</a>
    

    还有:

    <a href ="/privacy">Privacy</a>
    

    又短又甜^_^

    【讨论】:

      【解决方案4】:

      对于 SE 后代,为了简洁起见,您可以使用Router::url( )

      <li><a href="<?php echo Router::url('/contact'); ?>">Contact</a></li>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-08
        • 1970-01-01
        • 2016-10-21
        相关资源
        最近更新 更多