0

我的视图中有一个 ul 动态按钮,如下所示:

<ul id="dashboard_list">
  <li id="id_100" class="btn btn-primary">
    <a id="id_100" href="/plugin_name/controller_name/action_name/100">Default View</a>
  </li>
  <li id="id_200" class="btn btn-primary">
    <a id="id_200" href="/plugin_name/controller_name/action_name/200">Second View</a>
  </li>
  <li id="id_300" class="btn btn-primary">
     <a id="id_300" href="/plugin_name/controller_name/action_name/300">Third View</a>
  </li>
</ul>

上面的链接是使用 JSHelper 创建的,如下所示:

echo $this->Html->link($view->name, '/plugin_name/controller_name/action_name/'. $view->id, array('class' => 'ajax-link', 'id'=> $view->id));

我正在使用我在研究时发现的以下脚本:

// onClick function
function onClick(){
    $('#view_container').load($(this).attr('href'), onSuccess); 
    return false;
}

// activate ajax links to call the onClick function
$('.ajax-link').live('click', onClick);

// onSuccess-callback function
function onSuccess(){}

现在,在我的控制器/动作中,我对数据进行了简单的检查,如下所示:

function actionName() {
    if ($this->data != null) {
        die('We has data!');
    }
    else
    {
        die('We has no data.');
    }
}

我的#view_container 元素在每次点击时都会正确更新为“我们没有数据”。所以,我显然没有在视图和控制器之间传递链接的视图 ID 号(数据)。

任何人都可以就如何在 CakePHP 1.3 中实现此功能以访问控制器中选定的 id(变量)提供一些指导吗?我似乎主要找到表单提交示例(或只是死链接),不幸的是我没有升级 cakePHP 的选项。

仅供参考:包括正确的帮助程序、脚本和 js->writeBuffer。

感谢您提前回复!

4

1 回答 1

0

重写你的函数如下:

function actionName($id) {
    debug($id);
    if ($this->data != null) {
        die('We has data!');
    }
    else
    {
        die('We has no data.');
    }
}

如果您需要在 URL 中执行多个变量,例如:

href="/plugin_name/controller_name/action_name/300/yellow/bannana"

然后你的函数看起来像:

function actionName($id,$color,$fruit) {
}
于 2013-11-06T18:04:45.223 回答