Návod na zprovoznění nástroje Texyla v Nette 2.1

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

Ahoj,

narazil jsem na šikovný nástroj Texyla a rád bych ho nějakým způsobem zaimplementoval do Nette. Nevíte jestli je někde nějaký návod jak na to?

Díky

Robyer
Člen | 74
+
0
-

Na GitHubu je v examples ukázka propojení s Nette.

Problém je, že je to trochu zastaralé (pro Nette 2.0), takže pro Nette 2.1 je potřeba udělat nějaké úpravy. A možná by to celé chtělo napsat lépe, ale zatím to ve svých projektech používám dle toho příkladu…

regiss
Člen | 61
+
0
-

Robyer napsal(a):

Na GitHubu je v examples ukázka propojení s Nette.

Problém je, že je to trochu zastaralé (pro Nette 2.0), takže pro Nette 2.1 je potřeba udělat nějaké úpravy. A možná by to celé chtělo napsat lépe, ale zatím to ve svých projektech používám dle toho příkladu…

Ahoj mohl by jsi nahrat na github sandbox pro Nette 2.1 a texylu. Pokud uz mas funkcni reseni, usetrilo by to vsem hodne casu.

hury
Člen | 56
+
0
-

Ahoj, nějaké novinky ohledně sandboxu pro Nette 2.1.2 a texylu?

Díky za odpověď

regiss
Člen | 61
+
0
-

Ahoj tak jsem udelal navod na Nette 2.1.1 a Texylu. Vse je na Gitu https://github.com/…la-Nette-2.1

petak23
Člen | 16
+
0
-

Vďaka za super sandbox pre Texylu + Nette 2.1. Dlho som sa s tým tento týždeň trápil, ale nedarilo sa mi a tak som to nakoniec vzdal.
Všetko už je OK, len som narazil na jeden problém. Nainštaloval som si to z github-u. Po spustení v prehliadači sa mi nahradí textarea Texylou. Zadám text, ktorý začína nadpisom napr. h2. V náhľade Texyly je sa tento nedpis zobrazí ako h2 a aj v html časti je to ako <h2>Nadpis</h2>. Ak dám ale poslať formulár a obsah zobraziť cez helper texy v šablóne t.j: {$txt_from_form|noescape|texy} tak už sa mi vygeneruje ako nadpis <h1>Nadpis</h1> a nie h2 ako by mal byť. Pričom texy syntax ostane správne zachovaná.
Kde môže byť problém?

regiss
Člen | 61
+
0
-

Mrkni na nastaveni Texy. Pridej do nastaveni texy tento radek

$texy->headingModule->balancing = "FIXED";
petak23
Člen | 16
+
0
-

regiss napsal(a):

Mrkni na nastaveni Texy. Pridej do nastaveni texy tento radek

$texy->headingModule->balancing = "FIXED";

Kde pridať? V súbore app/classes/MyTexy.php to mám. A inde neviem…

regiss
Člen | 61
+
0
-

to zalezi kde si ten helper registrujes. Je texy pouzivam jenom v jednom presenteru a zde to mam takto.

protected function createTemplate($class = NULL) {
    $template = parent::createTemplate($class);
    $texy = new \Texy();
    $texy->imageModule->root = 'files/';
    $texy->headingModule->balancing = "FIXED";
    $template->registerHelper('texy', callback($texy, 'process'));
    return $template;
}
vymak
Člen | 92
+
0
-

Ahoj řeším jeden problém s Texylou a nevím si s tím moc rady :(
Mám problém, že Texyla se mi zobrazuje u všech textarea

http://jpeg.cz/…05/i9wZX.jpg

U té první textarea vůbec nemám nadefinováno class=„texyla“ ale stejně tam je. U toho druhého je to správně tam texylu chci.

Kód vytváření komponenty:

	protected function createComponentRequestDate()
{
    $form = new Form;
    $form->getElementPrototype()->class('ajax');
    $form->addText('date', 'Termín odvozu')
            ->setRequired('Datum musí být zadáno')
            ->setAttribute('id', 'datepicker');
    $form->addSelect('type', 'Doprava', ['vlastni' => 'Vlastní doprava', 'nase' => 'Doprava přes nás'])
            ->setPrompt('Vyberte druh dopravy')
            ->setRequired('Typ dopravy musí být vybrán');
    $form->addTextArea('address', 'Adresa');
    $form->addTextArea('note', 'Poznámka')
            ->setAttribute('style', 'height: 100px;')
            ->getControlPrototype()->class("texyla");
    $form->addHidden('id');
    $form->addHidden('id_email');
    $form->addProtection();
    $form->addSubmit('update', 'Upravit');
    $form->setRenderer(new \Instante\Bootstrap3Renderer\BootstrapRenderer);

    $form->onSuccess[] = $this->onSuccessInfoForm;
    return $form;
}

Jde to nějak zakázat pro všechny textarey, nebo kde dělám chybu?

Michalek
Člen | 211
+
0
-

To bude spíš problém javascriptu, než php.

Pokud texylu „zavěšuješ“ takto, dělá to to co nechceš.

$(function () { // funkce se provede po načtení DOMu stránky
    $.texyla();
});

Předělej to na

$(function () {
    $("textarea.texyla").texyla();
});
vymak
Člen | 92
+
0
-

Díky moc, nejsem s JS moc kamarád :D

jQuery.fn.extend({
	texyla: function (options) {
		this.filter("textarea.texyla").each(function () {
			new Texyla(this, options);
		});
	}
});

Musel jsem to připsat sem, ale ještě jednou díky za nakopnutí :)