Ändern von Templates

Begonnen von db, März 24, 2010, 14:05:59

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

db

Hallo,

gibt es Möglichkeit eingelesene Templates (in meinem Fall für das Bestellformular) zu ändern.
Es soll nicht im Shoppilot geändert werden sonder direkt im Quellcode, ich denke in der stdall.ipl
wäre es super.

Für die Suchseiten gibt es ja die Funktion "modify_search_templates".
So eine Funktion nur halt für die anderen Templates.

Vielen Dank im voraus
Dave

dobra

Hallo Dave,

klar geht das  :)

Du kannst das komplette Bestellformular oder Teile davon (oder jede beliebige andere Seite)  je nach Bedingung anders mit ssp ausgeben.

Beispiel für eine "Teilanpassung" in der Bestelldatenvorlage die ich als Rechnungsformular (und intern für Kreditkartendaten einlesen) verwende:
Hier wird je nach gewählter Zahlart ein anderer Text ausgegeben

<!--spmacro:module(zahlung)
sub text {
    my $mytxt;
    my ($id,$txt) = ssp::get_cart_zahlart();
    if ($id == 1) {$mytxt = " bezahlt mit Kreditkarte";}
    if ($id == 2 || $id == 5) {$mytxt = " Betrag dankend erhalten";}
    if ($id == 3) {$mytxt = " zahlbar bei Rechnungserhalt";}
    if ($id == 5) {$mytxt = " Sofortüberweisung";}
    if ($id == 4) {$mytxt = " Rechnung (Paymorrow) <br> PM-Transactino-ID: __paymorrowTransactionId__";}

       main::mprint($mytxt);
}
sub kk {
    my ($id,$txt) = ssp::get_cart_zahlart();
my $knr = ssp::qform(ssp::get_var_form('KNr'));
$knr =~ s/([0-9]{4})/$1 /g;
    if ($id == 1) {main::mprint "Gesellschaft: <b>__KGesellschaft__</b> <br>Kartennr: <b> $knr</b> <br>gültig bis: <b> __GMonat__ / __GJahr__</b> <br> KPN: <b>__KPN__</b><br><br>"}
}

sub konto {
    my $konto;
    my ($id,$txt) = ssp::get_cart_zahlart();
    if ($id == 4) {$konto = qq|
<br><hr>
Bei der Abwicklung des Rechnungskaufs greifen wir auf den Service der paymorrow GmbH zurück.
<br>Überweisen Sie deshalb den Rechnungsbetrag innerhalb 30 Kalendertagen ab Rechnungsdatum bitte ausschließlich an die Kontoverbindung, welche Ihnen für diesen Kauf von der paymorrow GmbH bereits per E-Mail mitgeteilt wurde.
|;
}

       main::mprint($mytxt);
}
-->


im HTML-Teil = das was zwischen qq| ... |; steht, kannst Du aber auch das komplette Formular anpassen.
Du musst nur die Bedingungen formulieren und den jeweils gewünschten HTML-Code eingeben.
mfG
dobra

db

Hallo Dobra,

vielen Dank erstmal.

Ich muss aber die komplette Seite ersetzen.
Die heißt zum Beispiel s_order.htm, dort steht alles vom Anfang bis Ende der Seite drin (also inkl html,head,body usw).
Jetzt möchte ich anstatt der s_order.htm gerne die s_order22.htm einlesen.

Nicht also nur Teile der Seite.

der dave

dobra

hmmmmmmm
also so ganz verstehe ich jetzt nicht, was Du machen möchtest ....

Du kannst doch jeder Zahlart ein eigenes Template zuweisen - WANN/unter welchen Bedingungen soll denn s_order22 statt s_order angezeigt werden?
mfG
dobra

db

Wir haben verschiedene Filialshops.
Wir legen aber nicht für jeden Händler einen eigenen Sub-Katalog an.
Das heist, es steht immer nur ein Template zur Auswahl.

Jetzt möchte ich bei Händler x aber nicht das normale Template laden, sondern eine anderes.
Das mit dem Bestllformular war ein Beispiel, sollte aber auch zu ändern sein.

@ dobra: Ich hoffe du verstehts jetzt was ich meine.

der dave