我正在使用Yii Version 1.1.15。
在视图中我使用ajaxlink,它就像魅力一样:
<?=
CHtml::ajaxLink(
'[Help]',
$this->createUrl('genearal/help'),
array(
'onclick' => '$("#help").dialog("open"); return false;',
'update' => '#help'),
array('id' => 'showHelp')
);
?>
<div id="help"></div>
由于我有很多ajaxlink调用,我想在components-folder中编写一个函数,我可以调用它: MyComponents :: help(&#34; Help&#34;,&#34; general / help&#34;,&#34; help&#34;,&#34; showHelp&#34;);
class MyComponents {
public static function help($headline, $controller_and_action, $divname, $idname) {
CHtml::ajaxLink(
'[$headline]',
$this->createUrl('$controller_and_action'),
array(
'onclick' => '$("$divname").dialog("open"); return false;',
'update' => '$divname'),
array('id' => '$idname')
);
}
}
问题:如果我在浏览器中调用它,我只会得到一个空页。
我是否必须使用父类扩展MyComponents?哪一个? (我不这么认为:我测试了echo CHtml :: encode(&#34; test&#34;)没有问题。
我的报价可能有问题吗?
我几个小时都在疯狂地放弃了。希望它不是不可能的。
答案 0 :(得分:0)
我解决了这个问题。这很简单。 我没有得到错误消息,因此认为javascript出了问题。
在我的控制器中,我不在对象上下文中 - 所以$ this-&gt; createUrl(...)是不可能的。解决方案:
Yii::app()->createUrl(...)
......它就像魅力一样; - )