Implentace texy a texyly – jak na to?
- zuhla
- Člen | 33
Dobrý den, mám problém s implentací texy a texyly.
ArticlesPresenter:
public function templatePrepareFilters($template)
{
parent::templatePrepareFilters($template);
// inicializace Texy
TemplateFilters::$texy = new Texy();
TemplateFilters::$texy->encoding = 'utf-8';
TemplateFilters::$texy->allowedTags = Texy::NONE;
TemplateFilters::$texy->allowedStyles = Texy::NONE;
TemplateFilters::$texy->setOutputMode(Texy::HTML5);
// registrace filtru texyElements
$template->registerFilter('TemplateFilters::texyElements');
}
A template:
<texy>**Ahoj**</texy>
Děkuji všem za odpovědi a rady.
S pozdravem Krhovský
Editoval zuhla (19. 10. 2010 19:37)
- Aurielle
- Člen | 1281
Dobrý den, mám problém s implementací XXX. Nepřiložím chybovou hlášku a budu všechny žádat o odpovědi a rady.
Vážně, pokud nám více nepopíšeš svůj problém nebo nepřiložíš chybovou hlášku, tak ti pomoci nedokážeme…
edit: je to implementace, nikoliv implantace :D
Editoval gmvasek (19. 10. 2010 19:24)
- Honza Marek
- Člen | 1664
Lepší je si vyrobit šablonový helper. Filtr texy elements nelze doporučit.
presenter:
protected function createTemplate()
{
$template = parent::createTemplate();
$texy = new Texy;
$template->registerHelper("texy", array($texy, "process"));
return $template;
}
šablona:
{!$promennaSTexyZdrojem|texy}
{* nebo *}
{block|texy}
**Ahoj!**
{/block}
snad jsem to napsal přesně
Dobrý den, mám problém s implantací texy a texyly.
Ovšem Texyla není žádný implantát, to bych si vyprošoval.
- zuhla
- Člen | 33
Velice se omlouvám za implantaci moje chyba, už jsem opravil. Vůbec jsem si toho nevšiml opravil mě to google chrome bez mého vědomí. Musím si tu funkci vypnout. A mohl by jste mi teď popsat kompletní návod jak na texylu? Zkoušel jsem jak máte v example to nette a mohužel nefunguje hlásí
Cannot redeclare class Nette\Caching\Cache
- Honza Marek
- Člen | 1664
Jestli je tam taková chyba, pravděpodobně je to způsobeno nějakou marginalitou, jako je nesmazaná cache nebo něco podobného. Jinak zdrojákem se inspirovat určitě lze. Nyní vidím, že tam chybí příklad na ten helper. To (někdy) přidám.
- zuhla
- Člen | 33
Mmnt zmazal jsem temp, a teď naskočilo
Temp path does not exist.
File: C:\xampp\htdocs\texyla\libs\WebLoader\WebLoader.php Line: 96
Line 89: * @param string temp path
Line 90: * @return WebLoader
Line 91: */
Line 92: public function setTempPath($tempPath) {
Line 93: $tempPath = realpath($tempPath);
Line 94:
Line 95: if ($tempPath === false) {
Line 96: throw new \FileNotFoundException("Temp path does not exist.");
Line 97: }
Line 98:
Line 99: if (!is_writable($tempPath)) {
Line 100: throw new \InvalidStateException("Directory '$tempPath' is not writeable.");
Line 101: }
Line 102:
Line 103: $this->tempPath = $tempPath;
- Aurielle
- Člen | 1281
Nemáš nakonfigurovaný WebLoader… takže si do BasePresenteru doplň něco takového:
protected function createComponentCss($name)
{
$css = new \WebLoader\CssLoader($this, $name);
$css->sourcePath = WWW_DIR . '/css';
$css->tempPath = WWW_DIR . '/webtemp';
$css->tempUri = \Nette\Environment::getVariable('baseUri') . 'webtemp';
return $css;
}
protected function createComponentJs($name)
{
$js = new \WebLoader\JavaScriptLoader($this, $name);
$js->sourcePath = WWW_DIR . '/js';
$js->tempPath = WWW_DIR . '/webtemp';
$js->tempUri = \Nette\Environment::getVariable('baseUri') . 'webtemp';
return $js;
}
- zuhla
- Člen | 33
Je tam
protected function createComponentTexyla()
{
$texyla = new TexylaLoader;
$texyla->filters[] = new WebLoader\VariablesFilter(array(
"baseUri" => Environment::getVariable("baseUri"),
"previewPath" => $this->link("Texyla:preview"),
"filesPath" => $this->link("Texyla:listFiles"),
"filesUploadPath" => $this->link("Texyla:upload"),
"filesMkDirPath" => $this->link("Texyla:mkDir"),
"filesRenamePath" => $this->link("Texyla:rename"),
"filesDeletePath" => $this->link("Texyla:delete"),
));
$texyla->addFile(WWW_DIR . "/js/texyla-init.js");
return $texyla;
}
Ale i při přidání dalšího kodu furt to samé. Nemůže najít cestu do temp. Při tom tam je.
- Honza Marek
- Člen | 1664
Jo… v tom, co si stáhneš z githubu, tak chybí některé složky. Git totiž neumí verzovat prázdné složky.
- zuhla
- Člen | 33
Dobrý den, tak už jsem vytvořil „webtemp“ a už mi to hodilo další chybu.
Source path does not exist.
Source file ▼
File: C:\xampp\htdocs\texyla\libs\WebLoader\WebLoader.php Line: 69
Line 62: * @param string source path
Line 63: * @return WebLoader
Line 64: */
Line 65: public function setSourcePath($sourcePath) {
Line 66: $sourcePath = realpath($sourcePath);
Line 67:
Line 68: if ($sourcePath === false) {
Line 69: throw new \FileNotFoundException("Source path does not exist.");
Line 70: }
Line 71:
Line 72: $this->sourcePath = $sourcePath;
Line 73:
Line 74: return $this;
Line 75: }
Line 76:
Ale bohužel teď nevím jak se má jmenovat tato složka? Nebylo by možné poslat nějaký seznam složek i těch prázdných? Děkuji
- Etch
- Člen | 403
sourcePath je složka obsahující texylu. Nastavení proměnné je v souboru classes/TexylaLoader.php v konstructoru.
$this->tempUri = Environment::getVariable("baseUri") . "webtemp";
$this->tempPath = WWW_DIR . "/webtemp";
$this->sourcePath = APP_DIR . "/../../../texyla";
Editoval Etch (29. 10. 2010 16:14)
- Felix
- Nette Core | 1196
Honza Marek napsal(a):
<?php
protected function createTemplate()
{
$template = parent::createTemplate();
$texy = new Texy;
$template->registerHelper("texy", array($texy, "process"));
return $template;
}
?>
tohle je fakt uplne bomba, zbytecny to dlouho vypisovat s
<?php
$template->registerFilter('Nette\Templates\TemplateFilters::texyElements');
?>
fakt najs :)
Editoval Felix (8. 2. 2011 19:50)