Hallo Leute,
lang, lang ist's her...
Ich hab da mal ein Script geschrieben und würde nun gerne wissen, ob die PHP-Kenner unter euch da noch Verbesserungswürdiges entdecken können.
<code><?php
$info_box_contents = array();
$info_box_contents[] = array('text' => BOX_HEADING_INFORMATION);
new infoBoxHeading($info_box_contents, false, false);
$info_box_contents = array();
$info_box_name = array( FILENAME_MANUFACTURERS,
FILENAME_RETURN,
FILENAME_SHIPPING,
FILENAME_CONDITIONS,
FILENAME_RG,
FILENAME_IMPRESS,
FILENAME_PRIVACY,
FILENAME_CONTACT_US,
FILENAME_PDF_CATALOGUE,
FILENAME_FAQ );
$info_box_text = array( BOX_INFORMATION_MANUFACTURERS,
BOX_INFORMATION_RETURN,
BOX_INFORMATION_SHIPPING,
BOX_INFORMATION_CONDITIONS,
BOX_INFORMATION_RG,
BOX_INFORMATION_IMPRESS,
BOX_INFORMATION_PRIVACY,
BOX_INFORMATION_CONTACT,
BOX_INFORMATION_PDF_CATALOGUE,
BOX_INFORMATION_FAQ );
$n = count($info_box_name);
$sitepath = parse_url($_SERVER['PHP_SELF']);
for ($i=0; $i<$n; $i++) {
if (in_array(DIR_WS_HTTP_CATALOG . $info_box_name[$i],$sitepath)) {
$file_name = tep_image(DIR_WS_IMAGES . 'pointer_blue.gif', '') . '<span class="errorText"><b>' . $info_box_text[$i] .'</b></span>';
} else {
$file_name = '<a href="' . tep_href_link($info_box_name[$i]) . '">' . tep_image(DIR_WS_IMAGES . 'pointer_blue_light.gif', '') . $info_box_text[$i] . '</a>';
}
if ($i<$n-1) {
$file_name .= '<br>';
}
$info_box_string = $info_box_string . $file_name;
}
$info_box_contents[] = array('text' => $info_box_string);
new infoBox($info_box_contents);
?>
</td>
</tr>
<!-- information_eof //--></code>
Das ursprüngliche Scrit erstellte einfach ein Array, ohne auf den aktuellen Pfad und seine Anzeige Rücksicht zu nehmen, d.h., es wurden alle Links immer normal dargestellt, ob nun eine Seite aus der Box aufgerufen wurde, oder nicht.
Das wollte ich dahingehend ändern, daß der aktuell angezeigte Link nun rot, fett und nicht verlinkt dargestellt wird.
Funktionieren tut es, nur wollte ich interessehalber gerne wissen, ob in euen Augen der Aufbau und Ablauf logisch und einfach genug ist.
Einige unter euch werden sich bestimmt noch an mich und meine ersten Gehversuche mit PHP erinnern können, recht viel weiter bin ich aus chronischem Zeitmangel auch jetzt noch nicht. ;)
new infoBoxHeading() und new infoBox() sind ausgelagerte Funktionen, die aus den übergebenen Arrays dann die Box zusammenbauen.
Gruß
Kurt