Php 扩展援助

Php 扩展援助,php,jquery,oop,yii,yii-extensions,Php,Jquery,Oop,Yii,Yii Extensions,我刚刚开始在yii中触及表面,我花了很长时间让任何图像滑块扩展正常工作。我已经提到并相信我的问题与扩展的初始化有关,但不确定。我尝试使用的最新扩展是 到目前为止,我已经下载了扩展,解压缩并放入/protected/extensions。我有两张图片试图在/images中滑动。我已将建议的代码放在my/protected/views/layouts/main.php中,并更新了$images数组,如下所示: <?php $this->widget('application.

我刚刚开始在yii中触及表面,我花了很长时间让任何图像滑块扩展正常工作。我已经提到并相信我的问题与扩展的初始化有关,但不确定。我尝试使用的最新扩展是

到目前为止,我已经下载了扩展,解压缩并放入/protected/extensions。我有两张图片试图在/images中滑动。我已将建议的代码放在my/protected/views/layouts/main.php中,并更新了$images数组,如下所示:

<?php 

    $this->widget('application.extensions.s3slider.S3Slider',
    array(
         'images' => array(
                array('images/giveBack.png', 'Give Back'),
                array('images/priceGuarantee.png', 'Price Guarantee'),
          ),
          'width' => '420',
          'height' => '300',
    )
  );?>
我的堆栈跟踪显示:

 /protected/views/layouts/main.php(60): CBaseController->widget("application.extensions.s3slider.S3Slider", array("images" => array(array("images/giveBack.png", "Give Back"), array("images/priceGuarantee.png", "Price Guarantee")), "width" => "420", "height" => "300"))
55                     array('images/priceGuarantee.png', 'Price Guarantee'),
56               ),
57               'width' => '420',
58               'height' => '300',
59         )
60   );?>
61 
62 <?php
63 $this->widget('zii.widgets.CBreadcrumbs', array(
64             'links'=>$this->breadcrumbs,
65         )); ?><!-- breadcrumbs -->    
/protected/views/layouts/main.php(60):CBaseController->widget(“application.extensions.s3slider.s3slider”、数组(“images”=>数组(“images/giveBack.png”、“return”)、数组(“images/priceguarange.png”、“Price guarange”)、“width”=>“420”、“height”=>“300”))
55数组('images/priceguarange.png','Price-guarange'),
56               ),
57'宽度'=>420',
58'高度'=>300',
59         )
60   );?>
61
62
任何关于这方面的指导都将不胜感激


谢谢。

您成功安装了此扩展,但其中存在明显的错误。 注意,在第52行中声明了$options

$options = array();
如果不为空,则检查:

if (!empty($options)) {
     $options = CJavaScript::encode($options);
}
因此,
$options
为空,因此它未编码为带有
encode
的字符串,因此在:

$js = "jQuery('#{$this->name}').s3Slider($options);";
PHP显示关于数组到字符串转换的注意事项。删除检查是否为空的条件,它将对空数组进行编码,应该可以工作。扩展的作者可能已禁用通知,这是一种不良做法。在开发阶段看到通知是明智的


提示:当您在yii方面有所进步时,为jquery插件编写扩展包装器将是一件轻而易举的事。

您成功安装了此扩展,但其中存在明显的错误。 注意,在第52行中声明了$options

$options = array();
如果不为空,则检查:

if (!empty($options)) {
     $options = CJavaScript::encode($options);
}
因此,
$options
为空,因此它未编码为带有
encode
的字符串,因此在:

$js = "jQuery('#{$this->name}').s3Slider($options);";
PHP显示关于数组到字符串转换的注意事项。删除检查是否为空的条件,它将对空数组进行编码,应该可以工作。扩展的作者可能已禁用通知,这是一种不良做法。在开发阶段看到通知是明智的


提示:当您在yii中表现更好时,为jquery插件编写扩展包装器对您来说将是一件轻而易举的事。

只需关闭通知错误,否则您的第三方软件中总会出现此类错误。只需关闭通知错误,否则,您的第三方软件将始终出现此类错误。谢谢您,Peter。你的解决方案很有效。我看到了$options变量,但没有查看cJavaScript::encode部分。你的时间非常宝贵,至少我没有完全疯掉。期待着执行您的提示!谢谢你,彼得。你的解决方案很有效。我看到了$options变量,但没有查看cJavaScript::encode部分。你的时间非常宝贵,至少我没有完全疯掉。期待着执行您的提示!