如何在Prestashop 1.7中调用custom.css?
我是第一次接触Prestashop 1.7。我需要覆盖一个css。我已经在Prestashop附带的custom.css上编写了css代码。当我刷新站点时,自定义css没有应用。没有指向该文件的链接rel如何在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,如下所示:
我想问一下如何调用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;
}