如何在Opencart中动态添加JavaScript


How to add JavaScript dynamically in Opencart?

我想在category.tpl中使用jQuery插件。将文件放在javascript/jQuery目录中。现在,如何使用这个插件?

/* one can load JS like that: */    
if(file_exists('catalog/view/javascript/'.$this->config->get('config_template').'/script.js')) {
    $this->document->addScript('catalog/view/javascript/'.$this->config->get('config_template').'/script.js');
}

这是使用现有功能的"正确方式",而不是手动将脚本添加到header.tpl.中

作为提示,根据下面的答案,可以循环一个文件名数组,以控制加载顺序,这通常是相关的,而它们可能相互依赖。

我从未使用过OpenCart,但一个快速的google会话告诉我,你应该将插件脚本(就像任何其他js一样)包含在一个名为header.tpl的文件中。

以下是我找到的示例header.tpl文件的一部分:

<script type="text/javascript" src="catalog/view/javascript/jquery/jquery-1.3.2.min.js"></script>

只需在jQuery include下面添加一行,它看起来像这样:

<script type="text/javascript" src="catalog/view/javascript/jquery/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="catalog/view/javascript/jquery/[PLUGIN FILE NAME].js"></script>

你应该很乐意去。

首先将jquery文件、css文件和图像粘贴到catalog/view/javascript/yourplugin文件夹中。然后调用catalog/view/theme/yourtheme(默认)/template/product/category.tpl文件中的jquery插件文件。对于ex,YOur php代码;。。。。。……

<script src="catalog/view/javascript/jquery/jquery-ui-min.js"></script>
<script type="text/javascript" src="catalog/view/javascript/jquery/jquery.anythingslider.js"></script>
<link rel="stylesheet" href="catalog/view/theme/default/stylesheet/anythingslider.css">
<script>
    // DOM Ready
    $(function(){
       $('#slider').anythingSlider();
       $('#slider1').anythingSlider();
       $('#slider2').anythingSlider();

   });
</script>

它适用于滑块。。您可以在php中执行操作(在脚本之上)。

您需要在Header View(/controlog/View/theme/[your theme]/template/common/Header.tpl)中包含JS和CSS源代码

in config.php     
define('DIR_JAVASCRIPT', 'D:'wamp'www'opencart/view/javascript/your_dir/');

in header.tpl        
<?php
    if (is_dir(DIR_JAVASCRIPT)):
        if ($handle = opendir(DIR_JAVASCRIPT)):
                while (false !== ($file = readdir($handle))):   
                    if (preg_match('@'.js$@', $file)):                      
?>
    <script type="text/javascript" src="<?php echo 'view/javascript/your_dir/'.$file; ?>"></script>
<?php               
                    endif;
                endwhile;
            closedir($handle);
        endif;
    endif;
?>