Oznámení

Provoz fóra byl ukončen

Rozdělení odkazů

před 11 lety

TFSi
Člen | 23

Zdravím,
mohl by mi někdo poradit s následujícím problémem:

v distribuci Texy /examples/links je handler zpracovávající url. Snažil jsem se jej upravit tak, aby k odkazům vedoucím mimo web přidal třídu „ext“. Bohužel jsem nepřišel na to, čím onu třídu k odkazu připojit. Výsledek mého snažení:

function phraseHandler($invocation, $phrase, $content, $modifier, $link)
{
    // pokud $link je objekt a je absolutní
    if ($link && !Texy::isRelative($link->URL)) {
#        a co sem, místo ??? ?
#        $modifier->??? = 'ext';
    }
    return $invocation->proceed();
}

tak jsem to nakonec vyřešil takto:

function phraseHandler($invocation, $phrase, $content, $modifier, $link)
{
    if (!$link) return $invocation->proceed(); // it's not my job

    $el = TexyHtml::el('a');
    $el->attrs['href'] = $link->URL; // set link destination

    if (!Texy::isRelative($link->URL)) {
        $el->attrs['class'] = 'out';        // set class name
        $el->attrs['rel'] = 'nofollow';     // enable rel="nofollow"
    }
    $el->setText($content); // set link label (with Texy formatting)
    return $el;
}

Editoval TFSi (10. 7. 2008 12:42)