嗨,我正在尝试根据现有主题创建一个子主题。我设法注册了子主题并继承了父主题的 dom 结构、样式和脚本。
我遇到的问题是,如果我创建自定义.css在子主题/资产/css 中,它确实会注册,也不会在该文件的前端看到任何更改。然后我修改了配置 yaml 文件以包括:
assets:
use_parent_assets: true
css:
all:
- id: product-extra-style
path: assets/css/somestyle.css
media: all
priority: 100000
前端仍然没有发生任何事情。但它完全破坏了后端!后端每个页面上出现错误 500。一旦我从 css 中删除所有内容:向下,后端就会恢复生机。
关于正在发生的事情以及如何解决这个问题的任何想法?
非常感谢!
-S
更新:
我已经通过更改 yaml 文件中的一些内容来修复前端未显示的样式......我将文件名更改为自定义.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
可能有点晚了,但如果对某人有任何帮助。
首先,在管理(高级设置>性能(的"性能"部分中,确保启用了调试模式以查看错误。
要在Prestashop 1.7中添加自定义CSS文件:
-
在主题的资产/css 文件夹中创建自定义.css文件。
-
编辑位于主题配置文件夹中的主题.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/资产/缓存/: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/中的缓存