【问题标题】:PHP yii how to call ajax render partial with using chtml class?PHP yii 如何使用 chtml 类调用 ajax 渲染部分?
【发布时间】:2012-08-06 22:41:39
【问题描述】:

我有一个调用特定 ajax 操作的链接,作为回报,它在屏幕上呈现部分视图,该部分视图始终在 div 内更新。使用它通常可以工作,但是当我使用 CHTML 类来使用如下静态函数时

      <?php echo CHTML::linkButton("Like",array("href"=>"http://www.aa.com","id"=>"link-button-shrinked"))?> 

然后ajax调用不起作用并给出奇怪的错误

      <h1>PHP Error [2]</h1>
      <p>YiiBase::include(CHTML.php) [<a href='yiibase.include'>yiibase.include</a>]: failed to open stream: No such file or directory (C:\AppServ\www\abc.com\framework\YiiBase.php:418)</p>

我的渲染视图函数是这样的

$this->renderPartial('_character_actions',array("actionRecords"=>$actionRecords),false,true);

如果我删除 CHTML 函数调用,那么一切正常......请帮助我。

【问题讨论】:

    标签: ajax widget yii partial-views render


    【解决方案1】:

    你把类名弄错了。

    只需将 CHTML 更改为 CHtml 即可。

    【讨论】:

    • 起初我认为你一定是在开玩笑,因为它可以通过控制器正常工作,所以我认为拥有 Chtml 或 CHTML 并不重要。但是将文本更改为 CHtml 确实适用于 ajax ... 非常感谢,虽然我没有得到这背后的逻辑,但它工作得很好..
    • 你只是类名错误,这一切都没有真正的逻辑:) .. 编辑了答案:D
    • 对,但即使类是错误的,它也不应该在没有 ajax 调用的情况下首先工作。我的意思是我在另一个视图中通过渲染部分使用相同的视图,它工作正常,所以我认为它与类名无关。当我通过 ajax 函数进行渲染时,问题就出现了。但无论如何我还是不明白这个逻辑:)
    • 类名没有错 - PHP 不关心你的变量或类名的大小写。但是 Yii 的自动加载功能会有所不同,因为会在同名文件中查找此类(至少在 Linux 上,Windows 对文件/文件夹名称中的大小写字符没有区别)
    猜你喜欢
    • 2013-09-21
    • 2013-01-29
    • 1970-01-01
    • 2014-07-18
    • 1970-01-01
    • 2021-10-16
    • 2013-03-15
    • 2014-07-18
    相关资源
    最近更新 更多