Es kommt immer wieder vor, das einige Administratoren target="_blank" in speziellen Links des Navigations-Moduls benötigen, wir haben diese Funktionalität mit Absicht nicht verbaut, da das W3C diese Spezifikation aus ihrem Programm genommen hat und somit nicht mehr zu den HTML Standards gehört. Es ist davon auszugehen, dass die Browserhersteller diese Spezifikation aus Ihren Browsern in Zukunft entfernen.
Um trotzdem diese Funktionalität zu erhalten, zeige ich Nachfolgend ein Codebeispiel, mit der target="_blank" wieder in das Navigations-Modul aufgenommen werden kann. Dies bezieht sich auf die Links die man in der vBCMS-Verwaltung zusätzlich eingetragen hat.
Zuerstmal müssen wir entscheiden welche Links wir mit target="_blank" erweitern wollen, ich nehme in unserem Fall erstmal die beiden vorhandenen Links "Forum und Mehr News", öffne nun die /vbcms_global_modules/vbcmsmodul_navi.php und suche nach:
Code:
$link .= '<li class="' . ((!$custom_komma[0]) ? (($_SERVER['REQUEST_URI'] == str_replace('&' , '&', $custom_komma[1])) ? 'link_p_a' : 'link_p') : (($_SERVER['REQUEST_URI'] == $custom_komma[1]) ? 'link_p_sub_a' . $custom_komma[0] : 'link_p_sub' . $custom_komma[0])) . '"> <a href="' . $custom_komma[1] . '">' . $custom_komma[2] . '</a></li>';
ersetze das Ganze mit:
Code:
$target = ((in_array($custom_komma[2], array('Forum', 'Mehr News'))) ? 'target="_blank"' : '');
$link .= '<li class="' . ((!$custom_komma[0]) ? (($_SERVER['REQUEST_URI'] == str_replace('&' , '&', $custom_komma[1])) ? 'link_p_a' : 'link_p') : (($_SERVER['REQUEST_URI'] == $custom_komma[1]) ? 'link_p_sub_a' . $custom_komma[0] : 'link_p_sub' . $custom_komma[0])) . '"> <a ' . $target . ' href="' . $custom_komma[1] . '">' . $custom_komma[2] . '</a></li>';
Das Rot markierte bezeihnet dabeit die Links die in einen neuen Fenster geöffnet werden sollen, dies kann flexibel erweitert werden, z.B.:
Code:
'Forum', 'Mehr News', 'Eigener Link'
Wobei "Eigener Link" immer mit der Bezeichnung des Links überinstimmen muss, den man in der vBCMS-Verwaltung zusätzlich eingetragen hat.
Dies kann in ähnlicher Form auch für die Hauptnavigation übernommen werden, dafür muss aber die /includes/functions_vbcms.php bearbeitet werden.