1.9 KiB
name, description, type
| name | description | type |
|---|---|---|
| newwalls.pl NEW vs OLD layout + PrestaShop template inheritance | IP-gated layout split w product.tpl, Smarty {extends} only renders {block} content — kluczowe dla edytowania szablonów | project |
Projekt newwalls.pl-1 = PrestaShop 1.7 (tema themes/ayon).
Layout split:
themes/ayon/templates/catalog/product.tpl ma DWA osobne branche:
- Linia 53:
{if $smarty.server.REMOTE_ADDR != '89.69.31.86'}— OLD layout (widzą wszyscy oprócz Jacka) - Linia 526:
{if $smarty.server.REMOTE_ADDR == '89.69.31.86'}— NEW layout (widzi tylko dev machine Jacka, IP 89.69.31.86)
Milestone v0.1 celuje w stan "oba layouty działają → usuwamy IP gate".
Detection w JS: .product-variants-data--new marker w DOM → NEW; .pp_stick_parent → OLD.
Why: user developuje NEW layout na żywym serwerze, żeby tylko on widział niedokończone funkcje. Publiczni użytkownicy widzą stabilny OLD.
How to apply — Smarty {extends} gotcha:
Plik ma {extends file=$layout} (linia 25). Smarty template inheritance renderuje TYLKO to, co jest w {block name='X'} tagach. Jeśli napiszesz coś między {/block} a {/if} — NIE WYRENDERUJE SIĘ.
Pattern do inline <script> w product.tpl: umieścić INSIDE {block name='content'}, przed {/block}. W przeciwnym razie dead code.
Jak wymusić OLD podczas dev: chwilowo zmień '89.69.31.86' na '255.255.255.255' w OBU if-ach (53 i 526), FTP upload, test, potem revert. Efekt: wszyscy widzą OLD, zero wpływu na prod users (i tak widzą OLD).
FTP push required: Zobacz feedback_ftp_autoupload.md — ftp-kr extension nie łapie Claude Code edycji; manual curl -T ftp://projectpro:...@newwalls.pl/public_html/....
PS cache: user powiedział jest wyłączony (2026-04-24). Nie Smarty compile cache, nie full-page cache. Template inheritance jednak zawsze aktywne (to nie cache, to Smarty core).