【问题标题】:CodeIgniter - Correct way to link to another page in a viewCodeIgniter - 链接到视图中另一个页面的正确方法
【发布时间】:2011-07-09 11:24:58
【问题描述】:

我想知道是否有人可以告诉我从视图中链接到另一个页面的正确方法。

是否有这个功能或者只是通常的功能

干杯,

【问题讨论】:

  • 你想如何链接它你想从一个页面到另一个页面的链接吗?
  • 我使用的是相对方式。在 HTML 中:<a href="/controller/method">text</a>(注意 / 在控制器之前)。在 PHP 代码中它没有 / 我正在使用 rewrite mod 并且所有链接都与 RewriteBase 相关

标签: php codeigniter anchor


【解决方案1】:

我假设您在应用程序中指的是“内部”。

您可以创建自己的<a> 标签并像这样在href 中插入一个url

<a href="<?php echo site_url('controller/function/uri') ?>">Link</a>

或者您可以通过这种方式使用 URL 助手来生成 &lt;a&gt; 标记

anchor(uri segments, text, attributes)

所以...使用它...

<?php echo anchor('controller/function/uri', 'Link', 'class="link-class"') ?>

这会产生

<a href="http://domain.com/index.php/controller/function/uri" class="link-class">Link</a>

关于附加评论问题

我会使用我的第一个示例

所以...

<a href="<?php echo site_url('controller/function') ?>"><img src="<?php echo base_url() ?>img/path/file.jpg" /></a>

对于图像(和其他资产),我不会将文件路径放在 php 中,我只会回显 base_url(),然后正常添加路径。

【讨论】:

  • 谢谢你...关于带有图像的链接,例如我将如何执行以下操作:" alt="7 天试用" width="285" height="33" border="0" />
  • 但是在这里我们在参数中传递方法名称如果我不需要 url 作为controller/function 而是作为controller/functionChange 怎么办?然后在这种情况下,我必须手动将每次调用 controller/function 更改为 controller/functionChange。有没有其他方法可以实现这一点,因为 cakephp 确实喜欢 array('controller'=>'controller',method=>'function')。
  • @jondavidjohn 嗨,controller/function 在 CI 中是否严格?我不能controller_to_view/function_to_view/subfolder/actual_view_file吗?因为后者为我返回 404 :-(
  • 请帮忙检查我的问题stackoverflow.com/questions/39360697/…
【解决方案2】:

最好的方法是使用下面的代码:

<a href="<?php echo base_url() ?>directory_name/filename.php">Link</a>

【讨论】:

    【解决方案3】:

    您也可以使用 PHP 短标签来使其更短。这是一个例子

    <a href="<?= site_url('controller/function'); ?>Contacts</a>
    

    或者使用 CI 的内置锚函数。

    【讨论】:

      【解决方案4】:

      最好和最简单的方法是在 CodeIgniter 中使用锚标记,例如。

      <?php 
          $this->load->helper('url'); 
          echo anchor('name_of_controller_file/function_name_if_any', 'Sign Out', array('class' => '', 'id' => '')); 
      ?>
      

      详情请参考https://www.codeigniter.com/user_guide/helpers/url_helper.html

      这肯定行得通。

      【讨论】:

        【解决方案5】:

        您也可以使用此代码

        //test" class="btn btn-primary pull-right">

        【讨论】:

        • 这并不能解决问题。这是一个 CSS 类。
        【解决方案6】:
        <a href="<?php echo site_url('controller/function'); ?>Compose</a>
        
        <a href="<?php echo site_url('controller/function'); ?>Inbox</a>
        
        <a href="<?php echo site_url('controller/function'); ?>Outbox</a>
        
        <a href="<?php echo site_url('controller/function'); ?>logout</a>
        
        <a href="<?php echo site_url('controller/function'); ?>logout</a>
        

        【讨论】:

        • 添加一些解释,说明此答案如何帮助 OP 解决当前问题
        • 我认为这是损坏的标签
        猜你喜欢
        • 1970-01-01
        • 2015-12-12
        • 2015-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-13
        • 2014-10-04
        • 1970-01-01
        相关资源
        最近更新 更多