在Concrete5中编辑块

时间:2016-04-09 19:16:12

标签: javascript concrete5 concrete5-5.7

我正在尝试编辑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

2 个答案:

答案 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;以毫秒为单位的你想要的基本速度应该为你照顾它!

相关问题