Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Prestashop 1.7中调用custom.css?_Css_Prestashop 1.7 - Fatal编程技术网

如何在Prestashop 1.7中调用custom.css?

如何在Prestashop 1.7中调用custom.css?,css,prestashop-1.7,Css,Prestashop 1.7,我是第一次接触Prestashop 1.7。我需要覆盖一个css。我已经在Prestashop附带的custom.css上编写了css代码。当我刷新站点时,自定义css没有应用。没有指向该文件的链接rel 我想问一下如何调用custom.css。有一个stylesheets.tpl,但我不确定要编写什么代码。您只需将其复制到主题的assets/css文件夹中即可。您可以使用位于frontController中的setMedia功能在最新的PrestaShop中添加自定义css&JS,如下所示:

我是第一次接触Prestashop 1.7。我需要覆盖一个css。我已经在Prestashop附带的custom.css上编写了css代码。当我刷新站点时,自定义css没有应用。没有指向该文件的链接rel


我想问一下如何调用custom.css。有一个stylesheets.tpl,但我不确定要编写什么代码。

您只需将其复制到主题的assets/css文件夹中即可。

您可以使用位于frontController中的setMedia功能在最新的PrestaShop中添加自定义css&JS,如下所示:

路径:mainDir/classes/controller/FrontController.php


我可以肯定地告诉您,每次单击更新PrestaShop时,custom.css都会被覆盖。当我问他们为什么要推动整个设置来进行小更新而不是只推动修改过的文件时,他们告诉我,他们这样做是为了阻止开发人员升级核心。我认为当PS升级时,这将被替换,最好在override/classes/controller/FrontController.php中执行
public function setMedia()
    {
        $this->registerStylesheet('theme-main', '/assets/css/theme.css', ['media' => 'all', 'priority' => 50]);
        $this->registerStylesheet('theme-custom', '/assets/css/custom.css', ['media' => 'all', 'priority' => 1000]);

        if ($this->context->language->is_rtl) {
            $this->registerStylesheet('theme-rtl', '/assets/css/rtl.css', ['media' => 'all', 'priority' => 900]);
        }

        $this->registerJavascript('corejs', '/themes/core.js', ['position' => 'bottom', 'priority' => 0]);
        $this->registerJavascript('theme-main', '/assets/js/theme.js', ['position' => 'bottom', 'priority' => 50]);
        $this->registerJavascript('theme-custom', '/assets/js/custom.js', ['position' => 'bottom', 'priority' => 1000]);

        $assets = $this->context->shop->theme->getPageSpecificAssets($this->php_self);
        if (!empty($assets)) {
            foreach ($assets['css'] as $css) {
                $this->registerStylesheet($css['id'], $css['path'], $css);
            }
            foreach ($assets['js'] as $js) {
                $this->registerJavascript($js['id'], $js['path'], $js);
            }
        }

        // Execute Hook FrontController SetMedia
        Hook::exec('actionFrontControllerSetMedia', array());

        return true;
    }