ich habe eine kleine "Best Practice" Anfrage zur Modul Programmierung:
Ich möchte in meinen Modulen CMS_LINKTARGET[x] standardmäßig auf "_self" setzen wenn der Redakteur nichts auswählt.
Da sonst im XHTML Code folgendes steht: <a href="/link.html" target="">
Das Attribut target ist dann vorhanden aber ohne Wert und der Code ist somit nicht valide.
Hier der Code des Modules:
Code: Alles auswählen
<?php
/* Sollte in jedem Modul stehen, damit jedes Modul das erste sein kann
da hierdurch das benötigte HTML Template angelegt wird falls noch nicht vorhanden*/
if (!isset($tpl) || !is_object($tpl)) {
$tpl = new Template();
}
/* Reset des $tpl Objektes damit nur Input von diesem Modul zieht*/
$tpl->reset();
/* Anzeige im Backend*/
if ($contenido && $edit) {
/* Platzhalter "bild_edit" wird durch "CMS_IMGEDIT[1]" ersetzt*/
$tpl->set('s', 'BILD_EDIT', "CMS_IMGEDIT[1]");
/* Platzhalter "bild_ausg" wird durch "CMS_IMG[1]" ersetzt*/
$tpl->set('s', 'BILD_AUSG', "CMS_IMG[1]");
/* Platzhalter "bild_ausg_alt" wird durch "CMS_IMG[1]" ersetzt*/
$tpl->set('s', 'BILD_AUSG_ALT', "CMS_IMGTITLE[1]");
/* Platzhalter "link" wird durch "CMS_LINK[3]" ersetzt*/
$tpl->set('s', 'LINK', "CMS_LINK[3]");
/* Platzhalter "linkdescr" wird durch "CMS_LINKDESCR[3]" ersetzt*/
$tpl->set('s', 'LINKDESCR', "CMS_LINKDESCR[3]");
/* Platzhalter "link_target" wird durch "CMS_LINKTARGET[3]" ersetzt*/
$tpl->set('s', '{LINK_TARGET}', "CMS_LINKTARGET[3]");
/* Inhalt aus Modul-Template "picture_big_backend.html" wird gezogen*/
$tpl->generate('templates/picture_big_backend.html');
/* Anzeige im Frontend*/
} else {
$sLink = "CMS_LINK[3]";
/* Wenn ein Link angegeben ist spezielles Modul-Template ziehen*/
if ($sLink != '' && $sLink != 'http://') {
/* Platzhalter "bild_ausg" wird durch "CMS_IMG[1]" ersetzt*/
$tpl->set('s', 'BILD_AUSG', "CMS_IMG[1]");
/* Platzhalter "bild_ausg_alt" wird durch "CMS_IMG[1]" ersetzt*/
$tpl->set('s', 'BILD_AUSG_ALT', "CMS_IMGTITLE[1]");
/* Platzhalter "link" wird durch "CMS_LINK[3]" ersetzt*/
$tpl->set('s', 'LINK', "CMS_LINK[3]");
/* Platzhalter "link_target" wird durch "CMS_LINKTARGET[3]" ersetzt*/
$tpl->set('s', 'LINK_TARGET', "CMS_LINKTARGET[3]");
$tpl->generate('templates/picture_big_link.html');
/* Ansonsten Modul-Template ohne Link ziehen*/
} else {
/* Platzhalter "bild_ausg" wird durch "CMS_IMG[1]" ersetzt*/
$tpl->set('s', 'BILD_AUSG', "CMS_IMG[1]");
/* Platzhalter "bild_ausg_alt" wird durch "CMS_IMG[1]" ersetzt*/
$tpl->set('s', 'BILD_AUSG_ALT', "CMS_IMGTITLE[1]");
$tpl->generate('templates/picture_big.html');
}
}
?>
Und hier die dazu gehörigen Modul-Templates:
picture_big_backend.html:
Code: Alles auswählen
<a href="{LINK}" target="{LINK_TARGET}"><img src="{BILD_AUSG}" alt="{BILD_AUSG_ALT}" width="548" height="235" id="picture-big" /></a>
{BILD_EDIT} <b>Link:</b> {LINK} <b> >> </b> {LINKDESCR}
Code: Alles auswählen
<a href="{LINK}" target="{LINK_TARGET}"><img src="{BILD_AUSG}" alt="{BILD_AUSG_ALT}" width="548" height="235" id="picture-big" /></a>
Code: Alles auswählen
<img src="{BILD_AUSG}" alt="{BILD_AUSG_ALT}" width="548" height="235" id="picture-big" />
Über ein kurzen Tipp wie ich am besten {Link_TARGET} auf "_self" setze wenn nichts anderes vom Redakteur angegeben wurde wäre ich sehr dankbar.
