Eigene Tags erstellen
Speicherort
Um updatesicher zu sein, müssen die eigenen Tags im folgenden Verzeichnis abgelegt werden:
bis 9.0.0:
/webEdition/we/include/we_tags/custom_tags/
ab 9.0.0
/webEdition/custom/tag
Namenskonvention
Die Tag Datei muss wie folgt benannt werden:
bis 8.0.3: we_tag_NameDesTags.inc.php
function we_tag_hello($attribs,$content){
if(($foo = attributFehltError($attribs,"name","hello"))){
return $foo;
}
$name = weTag_getAttribute("name",$attribs,"defaultName",we_base_request::STRING);
return "Hallo " . $name;
}
ab 8.0.4: we_tag_NameDesTags.class.php
abstract class we_tag_hello extends we_weTag_tag{
public static function tag(array $attribs = [], $content = '', $internal = false){
if(($foo = self::attributeMissing($attribs,"name","hello"))){
return $foo;
}
$name = self::getAttribute("name",$attribs,"defaultName",we_base_request::STRING);
return "Hallo " . $name;
}
//optional kann der Parser gesteuert werden über
/*public static function parse(array $attribs, $content){
return '<?= ' . we_weTag_parser::printTag('a', $attribs, 'MyLink', false, true) . '; ?>';
}*/
}
Normale Tags erben von der Klasse we_weTag_tag, If-Tags von der Klasse we_weTag_ifTag. IfNot-Tags die keine spezielle Implementierung benötigen werden als leer Klassen die von we_weTag_ifNotTag erben implementiert.
ab 8.0.4: we_tag_NameDesTags.class.php
Beispieltag we:ifTrue>
abstract class we_tag_ifTrue extends we_weTag_ifTag{
public static function tag(array $attribs = [], $content = '', $internal = false){
return true;
}
//optional kann der Parser gesteuert werden über
/*public static function parse(array $attribs, $content){
return '';
}*/
}
Beispieltag we:ifNotTrue (setzt die Existenz von ifTrue voraus)
abstract class we_tag_ifNotTrue extends we_weTag_ifNotTag{
}