Template-Weiche für Joomla

Aus Linupedia.org
Wechseln zu: Navigation, Suche

Autor: Yehudi


In Joomla hatte ich ein template entwickelt, welches problemlos auf dem Netscape 4 läuft, das eigentliche template bringt den Netscape Comunicator zum Absturz, das liegt an verschiedenen CSS Anweisungen. Auc in der Darstellung gab es einige Probleme.

Also musste ich erst mal die Stelle in Joomla finden, wo das template geladen wird. Das ist die index.php Datei in der folgende Zeilen geändert werden müssen:

/// loads template file
if ( !file_exists( 'templates/'. $cur_template .'/index.php' ) ) {
   echo _TEMPLATE_WARN . $cur_template;
} else {
   require_once( 'templates/'. $cur_template .'/index.php' );
   echo "<!-- ".time()." -->";
}

Hier fand ich ein Script http://www.01-scripts.de/board/thread.php?threadid=144

<?php
if(eregi('opera',$_SERVER['HTTP_USER_AGENT'])) {
// Anweisungen fuer Opera.
} elseif('firefox',$_SERVER['HTTP_USER_AGENT'])) {
// Anweisungen fuer Mozilla Firefox.
} elseif('phoenix',$_SERVER['HTTP_USER_AGENT'])) {
// Anweisungen fuer phoenix.
} elseif('msie',$_SERVER['HTTP_USER_AGENT'])) {
// Anweisungen fuer Internet Explorer.
} else {
// Anweisungen fuer alles andere.
}
?>

Das baute ich an die Stelle ein.

Zunächst konnte der Browser nicht erkannt werden, und Netscape 4 verfehlte immer noch das template. Über google gelang ich an folgende Seite: http://www.joergkrusesweb.de/internet/browser/user-agent.html Die darüber aufklärte, dass Netscape 4 als Mozilla/4 gilt. Und damit klappte das ganze sofort.

// loads template file
if (eregi('Mozilla/4',$_SERVER['HTTP_USER_AGENT'])) {
// Anweisungen fuer Netscpe 4.x.
if ( !file_exists( $mosConfig_absolute_path .'/templates/netcape_4/index.php' ) ) {
	echo _TEMPLATE_WARN . $cur_template;
} else {
	require_once( $mosConfig_absolute_path .'/templates/netscape_4/index.php' );
	echo '<!-- '. time() .' -->';
}} else {
// Anweisungen fuer alles andere.
if ( !file_exists( $mosConfig_absolute_path .'/templates/'. $cur_template .'/index.php' ) ) {
	echo _TEMPLATE_WARN . $cur_template;
} else {
	require_once( $mosConfig_absolute_path .'/templates/'. $cur_template .'/index.php' );
	echo '<!-- '. time() .' -->';
}}


Korektur für den IE

Da der Internet-Explorer auch die Kennung mozilla/4 verwendet, musste ich die template-Weiche erweitern:

// loads template file
if (eregi('msie',$_SERVER['HTTP_USER_AGENT'])) {
// Anweisungen fuer Netscpe 4.x.
if ( !file_exists( $mosConfig_absolute_path .'/templates/'. $cur_template .'/index.php' ) ) {
	echo _TEMPLATE_WARN . $cur_template;
} else {
	require_once( $mosConfig_absolute_path .'/templates/'. $cur_template .'/index.php' );
	echo '<!-- '. time() .' -->';
}} else {
if (eregi('Mozilla/4',$_SERVER['HTTP_USER_AGENT'])) {
// Anweisungen fuer Netscpe 4.x.
if ( !file_exists( $mosConfig_absolute_path .'/templates/netscape_4/index.php' ) ) {
	echo _TEMPLATE_WARN . $cur_template;
} else {
	require_once( $mosConfig_absolute_path .'/templates/netscape_4/index.php' );
	echo '<!-- '. time() .' -->';
}} else {
// Anweisungen fuer alles andere.
if ( !file_exists( $mosConfig_absolute_path .'/templates/'. $cur_template .'/index.php' ) ) {
	echo _TEMPLATE_WARN . $cur_template;
} else {
	require_once( $mosConfig_absolute_path .'/templates/'. $cur_template .'/index.php' );
	echo '<!-- '. time() .' -->';
}}}


Links Zwecks Netscape

Quellen