Jak na implementaci texy v nette
- pseudo
- Člen | 13
Zdravím, je někde k dispozici nějaké podrobné howto, jak rozchodit texy spolu s nette?
Podle toho co jsem vyštrachal na https://latte.nette.org/cs/#…
jsem si stáhnul aktuální minified verzi texy, šoupnul ji do adresáře libs
a do BasePresenteru přidal
<?php
public function templatePrepareFilters($template)
{
parent::templatePrepareFilters($template);
// inicializace
TemplateFilters::$texy = new \Texy();
TemplateFilters::$texy->encoding = 'utf-8';
TemplateFilters::$texy->allowedTags = \Texy::NONE;
TemplateFilters::$texy->allowedStyles = \Texy::NONE;
TemplateFilters::$texy->setOutputMode(\Texy::HTML4_TRANSITIONAL);
// registrace filtru
$template->registerFilter('Nette\Templates\TemplateFilters::texyElements');
}
?>
Očekával jsem, že teď mi již bude fungovat helper {$page->content
|texy}, tohle však pouze vyhazuje výjimku MemberAccessException : Call to
undefined method Nette\Templates\Template::texy().
pokud použiji pouze zbačky <texy></texy> mám pro data
z databáze výstup @php:p3@ (pokud hodím formátovaný text natvrdo do
šablony, je vše OK).
Jak to tedy funguje? :-)
- Patrik Votoček
- Člen | 2221
Jak by mohl fungovat helper když žádný neregistruješ? Registruješ pouze filter. A filter funguje jenom na statická data. Na dynamická data se používá helper.
- Patrik Votoček
- Člen | 2221
Analogicky k tvemu prikladu:
public function createTempate()
{
// inicializace
$texy = new \Texy();
$texy->encoding = 'utf-8';
$texy->allowedTags = \Texy::NONE;
$texy->allowedStyles = \Texy::NONE;
$texy->setOutputMode(\Texy::HTML4_TRANSITIONAL);
// registrace filtru
$template = parent::createTemplate();
$template->registerHelper('texy', callback($texy, 'process'));
return $template;
}
- Corind
- Člen | 6
Zdravím, už nějakou chvíli se snažím rozchodit Texy v Nette, ale bez úspěchu.. Filtr funguje v pohodě, ale helper prostě ne a ne.. Prolezl jsem fórum, registruju helper (v BasePresenteru) tady podle tvého návodu a nic.. I v čistým skeletonu je stejně pořád ta samá chyba:
MemberAccessException – Call to undefined method Template::texy()
Prosím o pomoc, fakt už nevím co dělám špatně..