Seite 1 von 1

Codepflege auf der Startseite (V1.2)

BeitragVerfasst: Fr 18. Aug 2006, 19:05
von casa
Hallo,

ich habe mir erlaubt, den Quelltext der Startseite (Aktuelle Artikel und Angebote) für meine Website etwas anzupassen und möchte das gerne als Anregung für den Standard hier loswerden.

Momentan werden die beiden Tabellen für die aktuellen Produkte und die Angebote sehr statisch aufgebaut. Meiner Meinung nach ist es viel flexibler und eleganter, das über eine Schleife zu lösen. Et voilá ...

Um das ganze zu steuern, ist es notwendig, eine zusätzliche Variable in die config.inc.php einzufügen:

Code: Alles auswählen
$artikelProZeile = "4"; // Wieviele Artikel pro Zeile sollen auf der Startseite angezeigt werden


Dann in der /templates/standard/startseite/index.tpl einfach den Teil zwischen den jeweiligen <table> und </table> Tags löschen und durch das hier ersetzen (zuerst für die aktuellen Artikel):

Code: Alles auswählen
        <tr>
                <td colspan="<?=$artikelProZeile?>" class="headline"><?=$n_aktArtikel?></td>
        </tr>
        <tr>
        <? for ($counter=0; $counter<count($AktuelleArtikelDataArray); $counter++) { ?>

        <? if ($counter % $artikelProZeile == 0 && $counter > 0) { ?>
        </tr><tr>
        <? } ?>
                <td valign="bottom" align="center" width="<?=round(100.0/$artikelProZeile)?>%">
                <a href="<?=URLPFAD?>themes/kategorie/detail.php?artikelid=<?=$AktuelleArtikelDataArray[$counter]["id"]?>&kategorieid=<?=$AktuelleArtikelDataArray[$counter]["kategorieid"]?>&source=
1">
                <?=$AktuelleArtikelDataArray[$counter]["imagesmall_imagestring"]?><br>
                <b><?=$AktuelleArtikelDataArray[$counter]["artikelname"]?></b>
                </a><br>
                <?=$AktuelleArtikelDataArray[$counter]["preis_format"]?>
                </td>
        <? } ?>
        </tr>


Für die Angebote sieht das ganze wie folgt aus:

Code: Alles auswählen
        <tr>
                <td colspan="<?=$artikelProZeile?>" class="headline"><?=$n_angebote?></td>
        </tr>
        <tr>
        <? for ($counter=0; $counter<8; $counter++) { ?>
                <? if ($counter % $artikelProZeile == 0 && $counter > 0) { ?>
                </tr><tr>
                <? } ?>
                <td valign="top" align="center" width="<?=round(100.0/$artikelProZeile)?>%">
                <a href="<?=URLPFAD?>"themes/kategorie/detail.php?artikelid=<?=$StartseitenangebotDataArray[$counter]["id"]?>&kategorieid=<?=$StartseitenangebotDataArray[$counter]["kategorieid"]?>&
source=1">
                <?=$StartseitenangebotDataArray[$counter]["imagesmall_imagestring"]?><br>
                <b><?=$StartseitenangebotDataArray[$counter]["artikelname"]?></b><br><?=$StartseitenangebotDataArray[$counter]["preis_format"]?>
                </a>
                </td>
        <? } ?>
        </tr>


Zu beachten ist, dass ich in der for()-Schleife die Anzahl auf 8 begrenzt habe, da das Array alle Artikel, die als Angebot definiert sind, enthält, ich aber nicht alle darstellen will. Hier wäre für den Standard noch eine weitere Variable notwendig, die festlegt, wie viele Angebotsartikel auf der Startseite erscheinen sollen.

Viel Spaß beim Basteln :-)

Grüße
Carsten