gpt4 book ai didi

prestashop - 将我的 css 添加到 prestashop 中的主题

转载 作者:行者123 更新时间:2023-12-02 14:07:31 33 4
gpt4 key购买 nike

我是 prestashop 的新人。我创建了 css 文件并想将其添加到 prestashop 主题中。我如何添加新的填充并使 prestashop 读取标题部分中的文件?在论坛中,我看到他们说将其添加到 hookheader ,我尝试将其添加到某个模块并执行以下操作:

1)添加到主题头文件{hook h="myCssHook"}

2)添加一些rendom模块功能:

public function myCsshook(&params)
{
$this->context->controller->addCSS(($this->_path).'prestashop/myshop/theme/css/myoverride/myCsstheme.css', 'all');
}

3)在模块安装中复制并添加:

|| $this->registerHook('myCssHook') == false

但没有成功。我使用的是 prestashop 1.6.1.1

最佳答案

最好的方法是在正确的 Controller 文件的 setMedia() 函数中添加以下内容。

$this->addCSS(_THEME_CSS_DIR_.'myoverride/myCsstheme.css');

例如,如果您想将CSS添加到所有产品页面,则必须在controllers/front/ProductController.php之后添加此代码

$this->addCSS(_THEME_CSS_DIR_.'product.css');

如果你想将其添加到所有页面,则必须在classes/controller/FrontController.php之后添加此代码

$this->addCSS(_THEME_CSS_DIR_.'global.css', 'all');

更好(更干净)的方法是创建一个覆盖文件。
例如,对于 FrontController,在 override/classes/controller/FrontController.php 中创建一个名为 FrontController.php 的新文件,并输入以下代码:

<?php
class FrontControllerCore extends Controller
{
public function setMedia()
{
parent::setMedia(); // This will take all code in setMedia() of the original classes/controller/FrontController.php
$this->addCSS(_THEME_CSS_DIR_.'myoverride/myCsstheme.css');
}
}

您可以为每个 Controller 创建一个覆盖文件。如你所愿。

关于prestashop - 将我的 css 添加到 prestashop 中的主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33429109/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com