( jc – 04.02.2010 14:36)
Textile rel Attribut Patch
Dieser Patch ist in Redaxo ab Version 4.3 bereits enthalten!
Textile kann out of the box keine rel Attribute in links erzeugen. Der einzige Weg links mit rel Attribut zu notieren ist handgeschöpftes HTML.. wenig erfreulich für den einen, aber schlicht unzumutbar für manch anderen. Erfreulicherweise gibt es aber eine Lösung:
Der Patch
Víctor Hugo Hernández1 hat einen Patch für Textile entwickelt, welcher Textile um das rel Attribut für links erweitert.
Dieser Beispiel link:
<a href="URL" rel="REL">LINKTEXT</a>
..wird mit dem Patch dann wie folgt notiert:
"LINKTEXT<REL>":URL
Auch eine Kombination mit dem title Attribut ist möglich:
"LINKTEXT(TITLE)<REL>":URL
Patch Code
Zu editieren sind lediglich ein paar Zeilen der Textile Klasse ../redaxo/addons/textile/classes/class.textile.inc.php (Zeilenangaben beziehen sich auf class.textile.inc.php,v 1.4 2008/03/11 aus rex4.1):
Zeile 754:
(?:\(([^)]+?)\)(?="))? # $title
":
('.$this->urlch.'+?) # $url
ändern in:
(?:\(([^)]+)\))? # $title
\s?
(?:\<([^)]+)\>(?="))? # $URLrel
":
('.$this->urlch.'+?) # $url
Zeile 766:
list(, $pre, $atts, $text, $title, $url, $slash, $post, $tail) = $m;
$atts = $this->pba($atts);
$atts .= ($title != '') ? ' title="' . $this->encode_html($title) . '"' : '';
if (!$this->noimage)
ändern in:
list(, $pre, $atts, $text, $title, $URLrel, $url, $slash, $post, $tail) = $m;
$atts = $this->pba($atts);
$atts .= ($title != '') ? ' title="' . $this->encode_html($title) . '"' : '';
$atts .= ($URLrel != '') ? ' rel="' . $URLrel . '" ' : '';
if (!$this->noimage)
Autor
1 Der Autor dieses Patches ist Víctor Hugo Hernández. Originaltext des Patches (in spanischer Sprache):
http://acalora.com/2007/01/controlar-el-atributo-rel-de-forma-nativa-con-textile.htm
update: Der link ist leider nicht mehr gültig, der Original Artikel auf der site des Autors auch nicht mehr aufzufinden.. die momentan einzige zitierfähige Stelle ist das posting des Autors im Textpattern Forum: http://forum.textpattern.com/viewtopic.php?id=20808&p=1