我正在尝试编辑Concrete5中的标准块 - image_slider块来修改它的转换速度。
从理论上讲,这应该非常简单;更改位于以下位置的速度值:
..concrete/blocks/image_slider/view.js
所以我将此文件复制到
..application/blocks/image_slider/view.js
并更改了值。
此时,滑块确实执行了该功能,但由于某种原因,javascript没有按预期运行 - 它正在执行(我添加了一个console.log用于测试),但是滑块不再滑动,导航箭头是失踪。检查滑块没有发生类更改。
我无法找到有关在我自己的应用程序中扩展view.js的任何信息,而且无论我尝试什么似乎都不起作用。
我正在使用的块可以在他们的github上找到,我正在运行Concrete5 v5.7.5.2: https://github.com/concrete5/concrete5/tree/5.7.5.2/web/concrete/blocks/image_slider
答案 0 :(得分:1)
最重要的是,无论如何,在最新版本(5.7.5.6)中,view.js
中没有concrete/blocks/image_slider
。
因此,为了让它运行起来,您需要将view.php
覆盖为(application/blocks/image_slider/view.php
)。
从第9行开始的view.php
处理选项:
<script>
$(document).ready(function(){
$(function () {
$("#ccm-image-slider-<?php echo $bID ?>").responsiveSlides({
prevText: "", // String: Text for the "previous" button
nextText: "",
<?php if($navigationType == 0) { ?>
nav:true,
<?php } else { ?>
pager: true,
<?php } ?>
<?php if ($timeout) { echo "timeout: $timeout,"; } ?>
<?php if ($speed) { echo "speed: $speed,"; } ?>
<?php if ($pause) { echo "pause: true,"; } ?>
<?php if ($noAnimate) { echo "auto: false,"; } ?>
// transition
transition: //your code here
});
});
});
</script>
并且,正如@tofraser所说,在开发过程中禁用所有缓存。
答案 1 :(得分:1)
当您覆盖核心Concrete5块时,我发现将整个块文件夹从Concrete文件夹复制到Application文件夹是个不错的做法。
通常,此速度更改可以在图像滑块窗体中处理,同时将其添加到您的页面中。如果您尝试更新速度基值,则最好在安装过程中编辑图像滑块表单中传递的默认值 - &gt; application\blocks\image_slider\form_setup_html.php (for me it's line 298)
。
<?php echo $form->number($view->field('speed'), $speed ? $speed : 500, array('min' => '1', 'max' => '99999'))?><span class="input-group-addon"><?php echo t('ms'); ?></span>
更新&#39; 500&#39;以毫秒为单位的你想要的基本速度应该为你照顾它!