From:Christian Lackas
Date: 9.2.01 13:41
Subject:Re: Intershop Extension bei Verwendung von Perl in Flex-Modulen
Reply-To:
References:
  • 8.2.01 16:35 Imperia
    Intershop Extension bei Verwendung von Perl in Flex-Modulen
  • 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>&nbsp;</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>&nbsp;</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 "&nbsp;" 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
    > "&nbsp;" nur noch " ".
    
    Also bei mir bleibt ein "&nbsp;" erhalten. Welche Version benutzt Du
    denn und was genau tust Du, wenn Dein "&nbsp;" 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]