Zobrazování html kodu v šabloně

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
smi
Člen | 75
+
0
-

Prosím o radu:

Soubor si v rendereru vložím do proměnné a tu pak jen zobrazím v šabloně macrem {!$soubor}.
Když je to html soubor, tak linky fungují, ale nedotahují se tam třeba obrázky do tagu img, …
Co ještě musím udělat ?

uestla
Backer | 796
+
0
-

Poslat ukázku.

Jan Voráček
Člen | 90
+
0
-

Střelím od boku – jsou opravdu správně cesty k těm obrázkům?

smi
Člen | 75
+
0
-

uestla napsal(a):

Poslat ukázku.

Tak jsem vypreparoval ukázku – obrázek samozřejmě existuje a když ve FireFoxu dám přes pravé tlačítko zobrazit obrázek, tak se zobrazí.

Takhle to mám proto, abych si to mohl oplácat vlastní šablonou.

<div>

<p><b>Preanalytické podmínky</b></p>

<p>
  <img width="586" height="197" src="STAAA_soubory/image001.gif" align="left" hspace="12">
  <span style='font-size:10.0pt;font-family:Arial'>ISE jsou konstruovány jako ponorné,
    průtokové nebo suché elektrodové systémy. ....
  </span>
</p>

</div>
uestla
Backer | 796
+
0
-

A jak probíhá to předání mezi rendererem a šablonou? V jaké složce máš uložený preparovaný HTML soubor? Slyšel jsi už o makru {include 'muj_html_soubor.latte'} ?

Výhoda je v tom, že ve vkládané šabloně můžeš normálně používat jak Latte makra, tak výchozí proměnné, tj. $basePath, atd.

Při vkládání obrázků pak doporučuji zpravidla používat zmíněnou proměnnou (vyhneš se tak relativistickým problémům):

<!-- předpokládá se, že složka STAAA_soubory je v document rootu -->
<img width="586" height="197" src="{$basePath}/STAAA_soubory/image001.gif" align="left" hspace="12">

Editoval uestla (9. 7. 2011 14:58)

smi
Člen | 75
+
0
-

uestla napsal(a):

A jak probíhá to předání mezi rendererem a šablonou? V jaké složce máš uložený preparovaný HTML soubor? Slyšel jsi už o makru {include 'muj_html_soubor.latte'} ?

Výhoda je v tom, že ve vkládané šabloně můžeš normálně používat jak Latte makra, tak výchozí proměnné, tj. $basePath, atd.

Při vkládání obrázků pak doporučuji zpravidla používat zmíněnou proměnnou (vyhneš se tak relativistickým problémům):

<!-- předpokládá se, že složka STAAA_soubory je v document rootu -->
<img width="586" height="197" src="{$basePath}/STAAA_soubory/image001.gif" align="left" hspace="12">

Problém je, že vkládám pokažde jiný soubor. Souborů je asi 40.000 a jsou plně „sraček“ z MS Front Page, Wordu, …

Struktura souborů není bežně známá, takže nějaký preprocesor je nanic.

uestla
Backer | 796
+
0
-

Dříve byl v Latte helperech filtr pro zabsolutizování všech URL dané šablony (uvnitř HTML atributů). Nevím jen, jak je tomu teď, v API jsem jej již více nenašel…

Aurielle
Člen | 1281
+
0
-

Použít $baseUrl místo $basePath.

uestla
Backer | 796
+
0
-

Konkrétně jsem měl na mysli tento filter ve verzi 0.9.x: https://github.com/…eFilters.php#L56

Nevím, zda byl odstraněn proto, že je to moc veliké zlo, tobě by ale mohlo posloužit v roli „nutného zla“. Čili půjčit si metodu, zaregistrovat ji coby filtr v Presenteru a soubory zásadně načítat (tj. vkládat) až v šabloně pomocí makra {include ...}.