Snippety pro menší části a další problémy snippetů
- SuperMartas
- Člen | 13
Ahoj,
je možné pomocí snippetů a AJAXu:
- přidávat či odebírat ze stránky soubory s CSS styly, tzn. HTML tag
<link>
? - editovat menší části jako jsou HTML atributy (např.
<body class="{snippet bodyClass}{$currentPage}{/snippet}">
)? - používat atribut „id“ na elementu, který slouží zároveň jako
snippet (např.
<div id="content" n:snippet="content">
)?
- GEpic
- Člen | 566
1. přidávat či odebírat ze stránky soubory s CSS styly, tzn. HTML tag <link>?
Ano, můžeš, obal to celé {snippet}
em a uvnitř použij
nějakou podmínku, kterou si v presenteru při ajaxovém požadavku předáš
do šablony.
2. editovat menší části jako jsou HTML atributy (např. <body class=„{snippet bodyClass}{$currentPage}{/snippet}“>)?
Pokud použiješ inspect kodu v prohlížeči tak zjistíš, že makro {snippet} ti vytvoří div okolo toho, co je v něm. Viz:
{snippet flashMessages}{/snippet}
se změní na:
<div id="snippet--flashMessages">
</div>
3. používat atribut “id” na elementu, který slouží zároveň jako snippet (např. <div id=„content“ n:snippet=„content“>)?
Ano můžeš, otázka je, jestli se v tom nezamotáš. Já bych to tak nedělal, statické věci (jako html tagy, css ID a třídy) bych s Latte a PHP vůbec nemotal dohromady.
Můžeš ale použít opět to, co jsem napsal nahoře.
Editoval GEpic (25. 4. 2016 21:54)
- SuperMartas
- Člen | 13
1. přidávat či odebírat ze stránky soubory s CSS styly, tzn. HTML tag <link>?
Ano, můžeš, obal to celé {snippet}em
Tady je ale právě problém, že mi to vytvoří právě ten
div#snippet--xyz
, jak jsi sám napsal v bodu 2, což není
validní (v <head>
nelze mít <div>
).
2. editovat menší části jako jsou HTML atributy (např. <body class=„{snippet bodyClass}{$currentPage}{/snippet}“>)?
Pokud použiješ inspect kodu v prohlížeči tak zjistíš, že makro {snippet} ti vytvoří div okolo toho, co je v něm.
3. používat atribut “id” na elementu, který slouží zároveň jako snippet (např.
<div id="content" n:snippet="content">
)?
Toto mozne neni. Sama Tracy Ti vyhodi vyjimku.
A proto se ptám, jestli neexistují jiné cesty, jak toho docílit. :)