Jak vynechat funkcnost Texy helperu „uvnitr“ zpracovavaneho textu?
- ras
- Člen | 135
Ahoj vsem,
mam v @layout.latte
...
<div id="content"><section>{include #content|texy}</section></div>
...
tj. veskere texty v sablone jsou formatovany pomoci Texy (tj. resi se tim spousta crcani s typografii)
Avsak narazim na vykresleni @ pomoci & #064;, kdy mi to
helper automaticky prevadi na zavinac → tj. zajimalo by me,
zda existuje zpusob, jak ten Texy helper „na chvilku“ vypnout. Tedy neco ala
toto
@layout.latte
...
{include #content|texy}
...
sablona pro kontakty → kontakt.latte
{block content}
nejaky text, ktery se ma formatovat skrze Texy helper
</texy helper> email & #064; example.com <texy helper>
a opet text, ktery se ma formatovat skrze Texy helper
{/block}
Je to vubec mozne?
Diky za info.
Radek
(tento thread castecne prekryva jiny muj na toto tema a sice Jak zapsat @ do sablony pri nacitani z configu ?
- vvoody
- Člen | 910
http://www.ascii.cl/htmlcodes.htm
S medzerami
& a m p ; # 0 6 4 ;
A to iste bez medzer :)
@
Edit:
jtousek: typujem ze to chce na jednom mieste (alebo zopar miestach) a nie
globalne
Editoval vvoody (19. 6. 2012 16:08)
- bojovyletoun
- Člen | 667
Možná tě bude zajímat https://api.texy.info/2.1/Texy.html#… . Jiné řešení jsem hledal a neexistují.
- ras
- Člen | 135
Diky za tip … uz jsem k nemu taky dosel .. kdyz jsem si zkousel hrat s temi ascii zastupnymi symboly…
ale nejak to nedokazu presvedcit …
mam v configu.neon
common:
parameters:
email: web@example.com
mam v presenterech po castech, zde uvadim jako jeden celek
protected function createTemplate($class = NULL)
{
$tpl = parent::createTemplate($class);
// registrace Texy helperu
$tpl->registerHelper('texy', callback(new Texy(), 'process'));
$tpl->emailTest = str_replace('@', '@', $this->context->params['email']);
return $tpl;
}
mam v @layout.latte
{include #content|texy}
a nakonec mam v salone kontakt.latte
{$emailTest}<br>
{!$emailTest}<br>
mam tam oboje, abych mohl pozorovat rozdilnosti v chovani ;o)
… ???
- vvoody
- Člen | 910
Zle som pochopil problem :) ako vzdy.
ras napsal(a):
… tj. veskere texty v sablone jsou formatovany pomoci Texy (tj. resi se tim spousta crcani s typografii)
Ak to dobre chapem tie tvoje texty co idu na web ako content obsahuju
@?
Takze texy prelozi:
@ na &#064; co sa zobrazi na
webe ako @
Neda sa zabezpecit aby v tom zdrojovom texte boli nahradene vsetky @ za @?
- ras
- Člen | 135
To bojovyletoun>
Co se tyce Texy promenne $obfuscateEmail … tak jsem ji zkousel pouzit .. tj. doufam, ze dobre je to takto
// registrace Texy helperu
$tpl->registerHelper('texy', callback(new Texy($obfuscateEmail = true/false), 'process'));
$tpl->emailTest = str_replace('@', '@', $this->context->params['email']);
$tpl->emailTest2 = $this->context->params['email'];
return $tpl;
→ at jiz to bylo true ci false, tak jsem nezaznamenal zmenu v kodu, bohuzel … at jiz jsem delal logicke zruseni toho str_replace ci je pouzil → vzdy se & prelozil na & amp; → a zde jadro pudla, ktere jsem jeste nerozloukl …
- ras
- Člen | 135
diky gmvasek
co jsem zjistil …
kdyz udelam v sablone
{block content}
{!$email|texy}
{/block}
tak to opravdu texy zformatuje a zohledni nastaveni $obfuscateEmail na TRUE/FALSE
pokud to vsak v sablone provedu
{block content|texy}
{!$email}
{/block}
nebo pres kombinaci @layout.latte + sablona
{include #content|texy}
{block content}
{!$email}
{/block}
tak to nefunguje, resp. v kombinaci @layout+sablona je Texy funkcni, tj. formatovani napr. * * neco * * fukcni a vysledny text je tucne, ale nastaveni $obfuscateEmail zcela ignoruje
Takze ted uz vim, proc se s tim tak dlouho crcam … a vysledkem je zjisteni, tudy cesta nevede, tj.
Pouzit Texy jako helper na cely CONTENT skrze zapis {include #content|texy} v @layout.latte je sice mozne, ale se zavinacem si pak musim stejne vyhrat rucne, protoze Texy to proste neudela.
Diky vsem prispevovatelum.