【问题标题】:Add parameter to Codeigniter URL将参数添加到 Codeigniter URL
【发布时间】:2015-04-24 00:27:12
【问题描述】:

当我尝试向 URL 添加其他参数时遇到问题。 在我使用 Codeigniter 之前,我会像这样使用 JavaScript 添加这些参数

<a href="javascript:addParam(window.location.href, 'display', 'param1');">test</a>

但是当我尝试使用 Codeigniter 时,我不知道该怎么做。

<?php  echo anchor("home/index/param1","test"); ?> 

正如我所说,我想添加这个参数,例如我的 URL 看起来像这样

home/index/param2

所以当我点击测试时,我希望 URL 是这样的

home/index/param2/param1

【问题讨论】:

    标签: codeigniter


    【解决方案1】:

    你不能用表单助手来做到这一点,你必须再次使用你的 js 函数:

    echo anchor("home/index/param2", "test", array("onClick" => "javascript:addParam(window.location.href, 'display', 'param1');"));
    

    它会产生:

    <a href="http://example.com/index.php/home/index/param2" onClick="javascript:...">test</a>
    

    但我没有看到动态更改点击事件的 href 的意义。为什么不直接在开头设置呢?

    echo anchor("home/index/param2/param1", "test");
    

    【讨论】:

    • 因为它是一个可选参数。实际上它们都是可选的第一个控件显示图像(普通视图或缩略图视图或表格视图),第二个控件按(喜欢、日期和视图)排序,所以当我选择在表格中显示图片时,比我想要的按喜欢对其进行排序,我不想删除第一个参数(表格视图)。我希望您能理解我的问题并感谢您的帮助
    • 我想我明白了。那么是什么设置了这些参数?这是您的用户在某处采取的行动吗?
    • 是的,就像 seoclerks.com 一样,看看它。我猜他们正在使用 javascript 来显示视图
    • 是的,它是 ajax。我无法写出准确的答案,因为我没有太多信息,但是鉴于您提供的链接,我认为这里的策略并不是最好的。如果我是你,我会用一些 ajax 处理视图模式,并像你已经做的那样为我的过滤器链接设置固定的 url:home/index/param1
    • ajax 你的意思是让所有三个视图都输入而不是隐藏两个
    【解决方案2】:

    看看 CodeIgniter 的URL Helper Documentation

    第一个参数可以包含您希望附加到 URL 的任何段。与上面的 site_url() 函数一样,段可以是字符串或数组。

    对于您的示例,您可以尝试:

    <?php 
      $base_url = 'home/index/';
      $param1 = 'param1';
      $param2 = 'param2';
      $segments = array($base_url, $param1, $param2);
      echo anchor($segments,"test"); 
    ?> 
    

    【讨论】:

    • 这取决于您的应用程序的结构。您可以在模板中将其设为一行,或在控制器中预先准备好,然后将其传递给模板。
    猜你喜欢
    • 2011-06-06
    • 2015-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-04
    • 1970-01-01
    • 2019-05-30
    相关资源
    最近更新 更多