Solution:
I don't know if this is the CORRECT way to fix this, or if this is the way it should work (probably not), but it does work!
-
Copy the assets over from the parent's config -> theme.yml to the child's config -> theme.yml.
Keep "use_parent_assets: true" in the "assets", just add the parent's "css" and "js" (and everything under them) below that line. -
Under the asset you want to add (ex. "css"), add whatever css file you want to use in you child theme as such (make sure they are indented correctly):
- id: product-child path: assets/css/product1.css media: all priority: 51
Note: id has to be unique and different from the parent's CSS. priority should be a higher number than the parent's css file. The path should be kept relative, even if they are the parent's. If they are the child's
Note 2: path's filename needs to be a different than the parent's filename. If it's the same, it overrides the parent's file completely, rather than add to it. You can use this to you advantage if you want to start the CSS fresh or copy the parent's CSS into the child's CSS. -
Fix the "parent_directory" value in the shop1.json:
Go to "<Prestashop directory>/src/Core/Addon/Theme/Theme.php"
Change (line 43) from:$parentAttributes['parent_directory'] = rtrim($attributes['directory'], '/') . '/';
to:
$parentAttributes['parent_directory'] = _PS_ALL_THEMES_DIR_ . $attributes['parent'] . '/';
- If you're child theme is turned on, switch to the parent's theme in the back-office -> Design -> Theme & Logo.
- Switch back to the child theme (in the back-office -> Design -> Theme & Logo). This will regenerate the shop1.json file.
-
Rejoice
Note that if you want to add a new CSS/JS to the child theme, you need to add it to the theme.yml file (of the child), change to the parent theme and then change back to the child theme (or edit the shop1.json to match). It's not ideal, but it can help to change in your parent's config modules that you want to (not) turn on automatically or be hooked, as switching between them will override the hooks and module status.
I hope this helps anyone who had and will have this problem