Files
newwalls.pl/.claude/memory/project_newwalls_layout_context.md
2026-04-24 00:55:39 +02:00

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).