【问题标题】:How to pass data in url using cakephp?如何使用 cakephp 在 url 中传递数据?
【发布时间】:2010-10-15 22:52:30
【问题描述】:

如果有办法在 url 和 cakephp 中传递一个简单的字符串,我现在想知道如何将它放在我的表单的一个输入中,而无需在视图端编写任何代码? 我尝试调用 this->set("bla","bla");字段名称是 bla 但没有任何改变

【问题讨论】:

    标签: cakephp cakephp-1.2


    【解决方案1】:

    据我了解,您想要这样的问题:

    在网址中你有类似的东西:

    http://yourserver.com/controller/action?search=string
    

    你想把这个“字符串”放在搜索字段中,对吧?

    然后让我们假设您的字段名称是 data[search_field]。 (我跳过了模型,因为在我的示例中不需要它,但名称可能是 data[Model][search_field])。

    那么在你的控制器的动作中你必须做以下事情:

    $this->data['search_string'] = $this->params['url']['search'];
    

    【讨论】:

    • 只缺少一件事,如果表单在提交后遇到验证错误,这将触发我需要添加以下内容的警告: if (isset($this->params['url'][ 'subject'])) { echo $form->hidden('subject',array('default'=>$this->params['url']['subject'])); } else { echo $form->hidden('subject'); }
    【解决方案2】:

    您可以使用 html 助手在 url 中传递值。试试:

    echo $this->Html->link('View Some Page', array(
        'controller' => 'yourController',
        'action' => 'view',
        1, // id
        '?' => array('yourField' => 'valueToPass'))
    );
    

    【讨论】:

    • 我不明白你的问题。如果您使用 html 帮助程序构建链接,您可以将任何参数的任何值传递给您想要的任何页面。
    • 是的,这很明显,蛋糕会知道将数据放在视图字段中吗?
    • 尝试这样做。如果它不起作用,那么您需要从视图中的 url 中捕获值 ($this->params['yourField']) 并将其作为默认值输入到字段中,例如 book.cakephp.org/view/1402/options-default
    猜你喜欢
    • 2015-07-14
    • 2012-12-02
    • 1970-01-01
    • 2015-10-10
    • 2014-05-03
    • 2012-11-06
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多