Imperia wrote:
Hallo Ingo,
> mir gelingt es nicht die Intershop-Extensions innerhalb eines Flex Moduls zu
> verwenden, wenn dies ein Perl-Modul ist. Es geht einwandfrei bei "normalen"
> Flex-Modulen.
Das Problem liegt nicht an den Flex-Modulen, hier einfaches Beispiel zum
Testen:
-----
# DESCRIPTION: Test der IntershopFX mit Perl
# AUTHOR: Christian Lackas
$new = <<EOTEXT;
<PRE>
Dies ist ein Perl-Test.
#IF ("$param1")
Der Parameter Nummer eins ist gesetzt und hat den Wert: $param1
#ELSE
Der Parameter Nummer eins ist leer.
#ENDIF
#IF ("$param2")
Der Parameter Nummer zwei ist gesetzt und hat den Wert: $param2
#ELSE
Der Parameter Nummer zwei ist leer.
#ENDIF
</PRE>
EOTEXT
-----
> # DESCRIPTION: Perl und Intershop
> # AUTHOR:
>
> $new = "<SELECT NAME=\"IMPERIA:SECRETabsatz$$blockid\"><OPTION
> VALUE='ja'>Absatz nach der Tabelle</OPTION><OPTION VALUE=\"\">Ohne folgenden
> Absatz</OPTION></SELECT> \n";
> $new .= "\#IF (<!--XX-SECRETabsatz$$blockid--> EQ \"ja\")\n";
> $new .= "<p> </p>\n";
> $new .= "\#ENDIF\n";
Hier ist das Problem jedenfalls die IntershopFX:
Das <!--XX-feldname--> muss *IMMER* in Anfuehrungszeichen stehen.
Ausserdem wird $$blockid von Perl als Derefenzierung des Skalars
$blockid interpretiert.
Folgendes Flex-Modul wuerde funktionieren:
-----
# DESCRIPTION: Ansatz nach Tabellen
# AUTHOR: Christian.Lackas@imperia.net
$new = <<EOFLEX;
#IF ("<!--XX-editmode-->")
<SELECT NAME="IMPERIA:SECRETabsatz<!--blockid-->">
<OPTION VALUE="ja">Absatz nach der Tabelle</OPTION>
<OPTION VALUE="">Ohne folgenden Absatz</OPTION>
</SELECT>
#ENDIF
#IF ("<!--XX-SECRETabsatz<!--blockid-->-->" EQ "ja")
<p> </p>
#ENDIF
EOFLEX
-----
Ich empfehle uebrigens bei Perl-Flex-Modulen mit
perl -c dateiname
die Syntax zu ueberpruefen; und wenn man am Ende ein
print $new;
einfuegt, dann kann man sich mit
perl dateiname
ansehen, was dabei rauskommt (dann haettest Du z.B. das Problem mit der
blockid bemerkt).
> Das " " wird übrigens beim Editieren mit Imperia grunsätzlich durch ein
> "non-breaking-space" Zeichen ersetzt. Gibt es eine Möglichkeit dieses
> Verhalten abzuschalten? D.h. man sieht nach "SAVE and TRY" anstelle von
> " " nur noch " ".
Also bei mir bleibt ein " " erhalten. Welche Version benutzt Du
denn und was genau tust Du, wenn Dein " " durch ein Leerzeichen
ersetzt wird?
Gruss
Christian
--
http://www.lackas.net/
| Thread (Intershop Extension bei Verwendung von Perl in Flex-Modulen) |
|
© 2001, 2002 marchive.pl Christian Lackas
[HOME]
[MARCHIVE]
[INDEX]
[IMPERIA]
[IMPRESSUM]
[DELTA]