#1 9. 7. 2008 14:31

TFSi
Člen
Registrovaný: 1. 3. 2007
Příspěvky: 26

Rozdělení odkazů

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)


If you can drink and drive, i can smoke and fly!

Offline

 

Zápatí

Reklama: Školení PHP | Magento