Php 扩展援助
我刚刚开始在yii中触及表面,我花了很长时间让任何图像滑块扩展正常工作。我已经提到并相信我的问题与扩展的初始化有关,但不确定。我尝试使用的最新扩展是 到目前为止,我已经下载了扩展,解压缩并放入/protected/extensions。我有两张图片试图在/images中滑动。我已将建议的代码放在my/protected/views/layouts/main.php中,并更新了$images数组,如下所示: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.
<?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部分。你的时间非常宝贵,至少我没有完全疯掉。期待着执行您的提示!