您好我正在尝试根据现有主题创建一个儿童主题。我设法让子主题注册并继承父主题的dom结构,样式和脚本。
我遇到的问题是,如果我在child-theme / assets / css中创建一个custom.css,它会注册,也不会在该文件的前端看到任何更改。然后我修改了配置yaml文件以包含:
assets:
use_parent_assets: true
css:
all:
- id: product-extra-style
path: assets/css/somestyle.css
media: all
priority: 100000
而前端仍然没有发生任何事情。但它彻底打破了后端!后端的每个页面都有错误500。一旦我从css中删除了所有内容:on down,然后后端恢复生机。
关于发生了什么以及如何解决这个问题的任何想法?
非常感谢!
-S
更新:
我通过更改yaml文件中的一些内容修复了未显示在前端的样式...我将文件名更改为custom.css,优先级更改为1000
assets:
use_parent_assets: true
css:
all:
- id: product-extra-style
path: assets/css/custom.css
media: all
priority: 1000
但后端问题仍然存在。这是一个更彻底的解释:
一旦我添加了css:和yaml文件的下面部分,保存并返回到后端,一切正常。我可以导航到任何没有问题的页面。但是,如果我访问主题选择页面并单击我的子主题的“选择此主题”按钮,则会打破整个后端。不确定是什么以及为什么会这样,即使我的孩子主题已被选中并再次点击“选择此主题”按钮,它仍然会中断。有点奇怪。
我真的很感激对此问题的任何见解。
谢谢,
-S
答案 0 :(得分:1)
可能会晚一点,但是如果对某人有帮助的话。
首先,在管理的“性能”部分(“高级设置”>“性能”)中,确保已启用调试模式以查看错误。
要在Prestashop 1.7中添加自定义CSS文件:
在主题的asset / css文件夹中创建 custom.css 文件。
编辑位于主题配置文件夹中的 theme.yml 文件
在您的theme.yml文件中,请不要忘记缩进路径,媒体和优先级,以使其与id对齐,这就是导致您出错的原因:
assets:
use_parent_assets: true
css:
all:
- id: product-extra-style
path: assets/css/custom.css
media: all
priority: 1000
就我而言,刷新后,此刻效果良好,但经过研究,有些人不得不:
删除app / cache / dev / themes / theme_name中的shop1.json文件 :https://github.com/PrestaShop/StarterTheme/issues/181
在“管理”中的“性能”中的“ CCC”部分中打开CSS的智能缓存,并手动清除主题/ theme_name / assets / cache /中的缓存:https://www.prestashop.com/forums/topic/610331-prestashop-1711-how-to-simply-change-background-in-classic-theme-custom-css/和https://www.prestashop.com/forums/topic/595125-editing-of-the-theme-classic/
< / li>