Prestashop 1.6.1.0 backoffice - Uncaught ReferenceError: jQuery is not defined

Prestashop 1.6.1.0 backoffice - Uncaught ReferenceError: jQuery is not defined

我对 prestashop 1.6.1.0 有疑问。在后台,当我打开开发人员控制台时,出现以下错误 Uncaught ReferenceError: jQuery is not defined。我知道这是因为 admin.jsjQuery.

之前加载

我花了一些时间来更改 Prestashop Backofffice 上的脚本层次结构,但我找不到文档底部末尾的脚本文件在哪里。

这是我的 javascript 层次结构的屏幕截图;

有谁知道我可以在哪里更改包含的 scripts 层次结构?

提前致谢。

### 编辑和更新###

在@Sergii P 的回答和评论之后,我开始在我的新主题模块中搜索解决方案。我的主题在我的 backoffice 中添加了一些新的 modules。所以我在我的主题 controller;

中找到了这个 override method
public function hookDisplayBackOfficeHeader() {
        if (Tools::getValue('configure') == $this->name){
            $this->context->controller->addJquery();
        }
        $this->context->controller->addCSS($this->_path.'assets/css/admin.css');
        $this->context->controller->addJS($this->_path.'assets/js/admin.js');
    }

我应该如何更改此方法?

这是后台的 header.tpl;

{if isset($css_files)}
{foreach from=$css_files key=css_uri item=media}
    <link href="{$css_uri|escape:'html':'UTF-8'}" rel="stylesheet" type="text/css"/>
{/foreach}
{/if}
    {if (isset($js_def) && count($js_def) || isset($js_files) && count($js_files))}
        {include file=$smarty.const._PS_ALL_THEMES_DIR_|cat:"javascript.tpl"}
    {/if}

    {if isset($displayBackOfficeHeader)}
        {$displayBackOfficeHeader}
    {/if}
    {if isset($brightness)}
    <!--
        // @todo: multishop color
        <style type="text/css">
            div#header_infos, div#header_infos a#header_shopname, div#header_infos a#header_logout, div#header_infos a#header_foaccess {ldelim}color:{$brightness}{rdelim}
        </style>
    -->
    {/if}

默认情况下 jQuery 总是首先加载, 和后台脚本加载,您可以在 classes/controller/AdminController.php 方法 setMedia 中找到并且有:

        $this->addJquery();
        $this->addjQueryPlugin(array('scrollTo', 'alerts', 'chosen', 'autosize', 'fancybox' ));
        $this->addjQueryPlugin('growl', null, false);
        $this->addJqueryUI(array('ui.slider', 'ui.datepicker'));

        Media::addJsDef(array('host_mode' => (defined('_PS_HOST_MODE_') && _PS_HOST_MODE_)));

        $this->addJS(array(
            _PS_JS_DIR_.'admin.js',
            _PS_JS_DIR_.'tools.js',
            _PS_JS_DIR_.'jquery/plugins/timepicker/jquery-ui-timepicker-addon.js'
        ));

首先是运行Controler::init()调用hookDisplayBackOfficeHeader(),之后是运行setMedia();在哪里添加 jq。

您需要调用addJquery();在 hookDisplayBackOfficeHeader() 中,

    public function hookDisplayBackOfficeHeader()
{
    $this->context->controller->addJquery(); //add jquery
    $this->context->controller->addJs($this->_path.'views/js/js.js'); //add js
}