piranja: dynamisches Include

Hallo zusammen,

ist es möglich, in ASP eine zur Laufzeit bestimmte Datei zu includen?

Also z.B. möchte ich, je nach Benutzersprache, die Datei
<!--#include file="../Datei_de.asp"--> oder
<!--#include file="../Datei_en.asp"-->
einbinden.

<!--#include file="../Datei_<%=Sprache%>.asp"-->
funktioniert leider nicht.

Gibt es einen anderen Weg?

Danke für eure Hilfe!
piranja

  1. Hy

    ist es möglich, in ASP eine zur Laufzeit bestimmte Datei zu includen?

    Ja.

    <!--#include file="../Datei_<%=Sprache%>.asp"-->

    Das es so nicht geht hast du ja gemerkt :)

    Gibt es einen anderen Weg?

    Ja, mach doch einfach eine IF Abfrage daraus:

    <%
    If Reuqest.QueryString("Sprache") = "DE" Then
        <!--#include file="../Datei_de.asp"-->
    ElseIf Reuqest.QueryString("Sprache") = "EN" Then
        <!--#include file="../Datei_en.asp"-->
    End IF
    %>

    Danke für eure Hilfe!

    Ich hoffe das hilft dir.

    Gruss
    David

    --
    sh:( fo:| ch:{ rl:( br: n4:& ie:% mo:| va:) de:] zu:} fl:| ss:| ls:$ js:(
    1. Hi David,

      danke für deinen Vorschlag, aber ...

      ... nein, das hilft mir nicht so wirklich. Denn so stehen immernoch die Sprachen/Dateinamen fix im Code.
      Sinn der Sache ist, nicht alle Seiten editieren zu müssen, wenn eine neue Sprache hinzukommt.

      Ja, mach doch einfach eine IF Abfrage daraus:

      <%
      If Reuqest.QueryString("Sprache") = "DE" Then
          <!--#include file="../Datei_de.asp"-->
      ElseIf Reuqest.QueryString("Sprache") = "EN" Then
          <!--#include file="../Datei_en.asp"-->
      End IF
      %>

      LG, piranja

      1. Hallo

        ... nein, das hilft mir nicht so wirklich. Denn so stehen immernoch die Sprachen/Dateinamen fix im Code.
        Sinn der Sache ist, nicht alle Seiten editieren zu müssen, wenn eine neue Sprache hinzukommt.

        Selbst wenn du 10 Sprachen anbietest ist es ein geringer Aufwand, einpaarmal diese Zeilen zu kopieren....

        Und wenn du das nicht auf _jeder_ Seite machen willst, dann leg den "Sprach-Umschalt" Code in eine Eigene Seite und schliesse _die_ dann auf jeder Seite ein.

        Dann einfach auf jeder Seite:
        <!--#include file="../sprachumschaltung.asp"-->

        in der sprachumschaltung.asp steht dann der andere Code.

        So muss du eine "neue" Sprache auch nur einmal hinzufügen.

        Vieleicht hillft das nun weiter :-)

        Gruss
        David

        --
        sh:( fo:| ch:{ rl:( br: n4:& ie:% mo:| va:) de:] zu:} fl:| ss:| ls:$ js:(
        1. Hi David,

          ja, das ist keine schlechte Idee ...!
          Danke dir!

          LG, piranja

          Und wenn du das nicht auf _jeder_ Seite machen willst, dann leg den "Sprach-Umschalt" Code in eine Eigene Seite und schliesse _die_ dann auf jeder Seite ein.

          Dann einfach auf jeder Seite:
          <!--#include file="../sprachumschaltung.asp"-->

          in der sprachumschaltung.asp steht dann der andere Code.

          So muss du eine "neue" Sprache auch nur einmal hinzufügen.

          Vieleicht hillft das nun weiter :-)

          Gruss
          David

    2. Hi Leute

      ist es möglich, in ASP eine zur Laufzeit bestimmte Datei zu includen?

      In ASP gibt es keine mir bekannte Möglichkeit, Skripte dynamisch einzubinden und diese anschliessend zu parsen.

      <!--#include file="../Datei_<%=Sprache%>.asp"-->

      Wenn ich das richtig verstanden habe, dann ist das nicht ASP (bis auf das '<%=Sprache%>'), sondern SSI.

      Ja, mach doch einfach eine IF Abfrage daraus:

      Dasselbe habe ich auch gedacht, jedoch eine Fallunterscheidung bei SSI und nicht bei ASP.

      <%
      If Reuqest.QueryString("Sprache") = "DE" Then
          <!--#include file="../Datei_de.asp"-->
      ElseIf Reuqest.QueryString("Sprache") = "EN" Then
          <!--#include file="../Datei_en.asp"-->
      End IF
      %>

      Das wird AFAIK nicht wie gewollt funktionieren, jedenfalls nicht bei meiner Webserverkonfiguration (auf die ich keinen Einfluss habe): Bei mir wird zuerst der SSI-Parser angeworfen, und erst danach ASP. Das heisst also, dass beide Sprachdateien eingebunden werden, wodurch der ASP-Parser ein unnötig grosses Skript bekommt.
      Wenn es möglich ist, per SSI die Sprache festzustellen, dann würde ich es mit einer reinen SSI-Lösung versuchen. Eine Fallunterscheidung gibt es in SSI. Pack das ganze, wie David gesagt hat, in eine seperate Datei und binde die in all deine Seiten ein. Deaktiviere mal ASP und schau nach, ob das Skript wie gewollt zusammengeklebt wird. Leider kenne ich mich nur mit SSI-Includes richtig aus, wesshalb ich dich hier auf den SSI-Teil in SelfHTML verweisen möchte.

      FG & HTH

      Tom2

      --
      SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
      ss:| zu:) ls:& fo:) de:] va:) ch:] sh:( n4:& rl:° br:> js:| ie:% fl:( mo:}