Verzeichnisseite per ssp ausgeben

Begonnen von admin, November 19, 2009, 11:37:47

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

admin

Manchmal hat man in einem Shop eine sehr unterschiedliche Anzahl von Unterkategorien, die auf einer Verzeichnisseite dargestellt werden sollen. Hier kann es dann sein - wenn nur wenige Unterkategorien vorhanden sind- , dass eine Lücke im unteren Bereich entsteht, weil die überflüssigen Identifier zwar entfernt werden,  aber die leere Tabellenzeile oder das leere div-Element trotzdem noch Platz beansprucht.
Hier möchte ich eine Löung mit SSP zeigen, die diesen Nachteil nicht hat.


<!--spmacro:module(verz)

my $index = 0;
my @subpages = ssp::get_subpages($ssp::pgid);

sub zeile {
if ($index > $#subpages) {return;}
my $pgid = $subpages[$index];
my $img = ssp::get_var_page(pimage,$pgid);
my $ti = ssp::get_var_page(ptitle,$pgid);
my $seite = ssp::get_var_page(pdescription,$pgid);
my $image = qq|<a href="$ssp::xxpath?show$pgid,$ssp::xxsession"><img border="0" src="$ssp::catalog_abs/$img"></a>|;
my $titel = qq|<a href="$ssp::xxpath?show$pgid,$ssp::xxsession">$ti</a>|;
my $out = qq|<div>
 <div class="kattitle">$titel</div>
 <div class="image">$image</div>
 <div class="descr">$seite</div>
 <div class="floater">&nbsp;</div>
</div>|;

main::mprint($out);
++$index;
}
-->


Das erzreugte HTML sieht dan z.B. so aus (Vorlage ist aus dem Weinshop):


<div>
 <div class="kattitle"><a href="http://127.0.0.1:86/cgi-bin/iboshop.cgi?show250,604025268574317"> Die weite Welt</a></div>
 <div class="image"><a href="http://127.0.0.1:86/cgi-bin/iboshop.cgi?show250,604025268574317"> <img border="0" src="http://127.0.0.1:86/demo_weingenuss/images/catalog/weltkarte.jpg"></a></div>
 <div class="descr">Hier finden Sie Wein aus aller Welt. </div>
 <div class="floater">&nbsp;</div>
</div>


In die Vorlage schreibt man dann x-mal
__verz::zeile__
__verz::zeile__
__verz::zeile__
...

Überflüssige __verz::zeile__ werden komplett entfernt.