Eigene Tags erstellen


Speicherort


Um updatesicher zu sein, müssen die eigenen Tags im folgenden Verzeichnis abgelegt werden:
<box 100% round blue><code>/webEdition/we/include/we_tags/custom_tags/</code></box>

Namenskonvention


Die Tag Datei muss wie folgt benannt werden:
<box 100% round blue>bis 8.0.3: we_tag_NameDesTags.inc.php</box>

<box 100% round blue|Beispieltag we:hello><code 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;
}
</code></box>

<box 100% round blue>ab 8.0.4: we_tag_NameDesTags.class.php</box>
<box 100% round blue|Beispieltag we:hello><code 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) . '; ?>';
}*/
}
</code></box>

<note important>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</note>

<box 100% round blue>ab 8.0.4: we_tag_NameDesTags.class.php</box>
<box 100% round blue|Beispieltag we:ifTrue><code php>
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 '';
}*/
}
</code></box>
<box 100% round blue|Beispieltag we:ifNotTrue (setzt die Existenz von ifTrue voraus)><code php>
abstract class we_tag_ifNotTrue extends we_weTag_ifNotTag{
}
</code></box>

Weiterführende Informationen


* [[webedition:developer-information:development-of-custom-we-tags:integrate-custom-tags-in-the-tag-wizard|Eigene Tags in den Tag-Wizard integrieren]]
powered by webEdition CMS