Oznámení

Provoz fóra byl ukončen

Rozměry smajlíků

před 12 lety

Honza M.
Člen | 1674

Dá se nějak určit šířka a výška smajlíků? (ideálně v konfiguraci)

Zkoušel jsem

$texy->emoticonModule->width = 15;
$texy->emoticonModule->height = 15;

a nic :'(

před 12 lety

Honza M.
Člen | 1674

Další otázka…
Když chci používat jiný smajlíky a některý – třeba 8-) – nemám k dispozici… Jak to udělám, aby se nepřeváděly na neexistující obrázek? (opět by to bylo nejlepší v konfiguraci)

před 12 lety

David Grudl
Nette Core | 6806

Rozměry smajlíků se detekují automaticky, pokud je správně nastavená fyzická cesta k souborům $texy->emoticonModule->fileRoot. Případně se dá použít i CSS, smajlíkům se přiřazuje styl určený v $texy->emoticonModule->class.

Seznam podporovaných smajlíků a odpovídajících souborů je v poli $texy->emoticonModule->icons. Když nějaký není k dispozici, stačí ho z pole odstranit. Např: unset($texy->emoticonModule->icons[':-x']).

před 12 lety

Honza M.
Člen | 1674

Dobrá, koukám že mám zase blbé dotazy :-) Můj problém s rozměrama spočívá v tom, že soubor, ve kterém Texy tvoří HTML je jinde, než soubor, vy kterém se HTML zobrazuje…

před 12 lety

David Grudl
Nette Core | 6806
/**
 * User handler for emoticons
 *
 * @param TexyHandlerInvocation  handler invocation
 * @param string  emoticon e.g. :-)
 * @param string  emoticon as typed, e.g. :-)))
 * @return TexyHtml|string|FALSE
 */
function emoticonHandler($invocation, $emoticon, $rawEmoticon)
{
    /** @var TexyHtml */
    $el = $invocation->proceed();

    $el->width = 15;
    $el->height = 15;

    // Poznámka: v PHP4 nefunguje overloading, takže použijte
    //    $el->attrs['width'] = 15;
    //    $el->attrs['height'] = 15;

    return $el;
}

$texy = new Texy;
$texy->addHandler('emoticon', 'emoticonHandler');
$texy->allowed['emoticon'] = TRUE;

před 12 lety

Honza M.
Člen | 1674

no pěkné…