SSIs mit Übergabeparameter
Steffi
- webserver
Hallo,
ich hoffe, das Thema gehört hierher.
Ich habe einen großen Programteil, den ich mit
<!--#include virtual="test.inc" -->
in verschiedene HTMLs einbinden will.
Nun soll sich aber das eingebundene test.inc in den verschiedenen HTMLs in Nuancen unterscheiden.
Natürlich möchte ich deshalb nicht unbedingt jedesmal ein eigenes test.inc erstellen, das zu 95% mit den anderen übereinstimmt.
Kann ich daher dem include Parameter mitgeben, die dann in den einzelnen HTMLs unterschiedlich wären?
Mit sonntäglichen Grüßen
Steffi
Hallo Steffi,
Kann ich daher dem include Parameter mitgeben, die dann in den einzelnen HTMLs unterschiedlich wären?
AFAIK nein, aber vielleicht könntest du deine Include-Datei in einen großen gleichbleibenden und einen kleinen variablen Abschnitt aufteilen, und dann zwei Teile includen. Falls die Unterschiede überwiegend an einer Stelle im Dokument auftreten, sollte das kein Problem sein.
Hilft dir das weiter?
So long,
Martin
hallo,
Kann ich daher dem include Parameter mitgeben, die dann in den einzelnen HTMLs unterschiedlich wären?
AFAIK nein
Parameterübergabe funktioniert schon, allerdings nicht so, wie Steffi sich das offenbar vorgestellt hat. Wie es geht, it in SELFHTML beschrieben.
Grüße aus Berlin
Christoph S.
Hallo,
Parameterübergabe funktioniert schon, allerdings nicht so, wie Steffi sich das offenbar vorgestellt hat. Wie es geht, it in SELFHTML beschrieben.
Leider gehts so bei mir auch nicht, da der INCLUDE nicht auf Dateien auf anderen Servern zugreifen kann.
Schade, das hatte ich in meinem posting nicht erwähnt.
Danke trotzdem
Hi,
Leider gehts so bei mir auch nicht, da der INCLUDE nicht auf Dateien auf anderen Servern zugreifen kann.
Darum heißt's ja auch server-side-include, nicht world-wide-include
cu,
Andreas
Hallo,
Darum heißt's ja auch server-side-include, nicht world-wide-include
Es heißt aber auch nicht only-this-server-side-include
und was heißt hier server?
Meine Programme laufen auf e i n e m Server aber unter verschiedenen accounts (www.aaaaaa1....de, www.aaaaaa2...de).
Schönen Abend
Hallo Steffi!
<!--#include virtual="test.inc" -->
Kann ich daher dem include Parameter mitgeben, die dann in den einzelnen HTMLs unterschiedlich wären?
Du kannst das Programm _mit_ Parameter aufrufen.
Ich lasse den kompletten Header (title, meta und link-Elemente) _sowie_ die Vorwärts/Rückwärts-Navigation am Fuß meiner Seiten durch ein einziges Perl-Script generieren:
<head><!--#config timefmt="%Y-%m-%dT%H:%M+07:00"-->
<!--#include virtual="/cgi-bin/makenav.pl?mod=1"-->
und unten:
<div id="copyright">
<!--#include virtual="/cgi-bin/makenav.pl?mod=2"-->
</div>
Bei "mod1" wird eine Subroutine des Programms, bei "mod2" eine andere aufgerufen.
Leider finde ich die entsprechende Apache-Seite auf die schnelle nicht mehr, aber ich bin sicher, jemand der sich mit Apache besser auskennt findet sie für Dich. ;)
Viele Grüße aus Frankfurt/Main,
Patrick
Besser gesucht und doch gefunden!
<cite>
The include virtual element should be used in preference to exec cgi. In particular, if you need to pass additional arguments to a CGI program, using the query string, this cannot be done with exec cgi, but can be done with include virtual, as shown here:
<!--#include virtual="/cgi-bin/example.cgi?argument=value" -->
</cite>
Viele Grüße aus Frankfurt/Main,
Patrick
Hello out there!
ich hoffe, das Thema gehört hierher.
Ja, warum auch nicht? Auch den Themenbereich hast du bestens gewählt.
Nun soll sich aber das eingebundene test.inc in den verschiedenen HTMLs in Nuancen unterscheiden.
Kann ich daher dem include Parameter mitgeben, die dann in den einzelnen HTMLs unterschiedlich wären?
Du kannst in der 'shtml'-Datei eine Variable setzen:
<!--#set var="param" value="foo" -->
Im Include fragst du den Wert ab und erzeugst davon abhängig unterschiedliche Ausgaben:
<!--#if expr='"$param" = "foo"' -->
foo
<!--#elif expr='"$param" = "bar"' -->
bar
<!--#else -->
baz
<!--#endif -->
Dazu muss der Server auch das Include nach SSI parsen; entweder du gibst der Datei auch die Endung 'shtml' oder du konfigurierst den Server so, dass er auch 'inc' parst (würde dann aber für alle diese Dateien gelten) oder arbeitest mit dem Sticky-Bit.
See ya up the road,
Gunnar
Hallo Gunnar!
oder arbeitest mit dem Sticky-Bit.
Da muss ich nachhaken: Was ist das (kenne nur den XBitHack...)?
Viele Grüße aus Frankfurt/Main,
Patrick
Hello out there!
oder arbeitest mit dem Sticky-Bit.
Da muss ich nachhaken: Was ist das (kenne nur den XBitHack...)?
Versprecher meinerseits. Ich meinte XBitHack
.
See ya up the road,
Gunnar
Hallo Gunnar,
oder arbeitest mit dem Sticky-Bit.
Da muss ich nachhaken: Was ist das (kenne nur den XBitHack...)?
Unabhängig davon, dass Gunnar sich schon korrigiert hat - ein Sticky-Bit gibt es unter POSIX auch - es macht nur etwas komplett anderes und hat nichts mit dem Thema zu tun. Wenn das sticky-Bit auf einem Verzeichnis gesetzt ist, kann eine Datei in diesem Verzeichnis nur vom Eigentümer dieser Datei (oder von root selbstverständlich) gelöscht werden - nicht jedoch von einem anderen User, selbst wenn dieser Schreibrechte auf das Verzeichnis hat (im Normalfall darf jeder mit Schreibrechten auf einem Verzeichnis Dateien darin löschen). Ferner wurde das sticky-Bit bei ausführbaren Dateien früher dazu verwendet, dem Betriebsystem mitzuteilen, dass das Programm nach Beendigung nicht aus dem Speicher entfernt werden soll, womit es bei einem erneuten Aufruf sofort wieder verfügbar wäre. Das Verhalten bei Dateien wird meines Wissens jedoch von den meisten POSIX-kompatiblen Betriebsystemen nicht mehr implementiert, da es heutzutage unnötig geworden ist (Zugriff auf Speicher ist heutzutage schnell (das Sticky-Bit war hauptsächlich für häufig ausgeführte Dateien, die auf Disketten oder CDROMs abgelegt waren, verwendet worden), ferner gibt es sowieso einen allgemeinen Cache im Speicher, unabhängig von irgendwelchen Bits o.ä.). Hat aber wie gesagt nichts mit dem Thema zu tun, ich wollte es nur als Ergänzung mal anbringen.
Viele Grüße,
Christian
Hallo Christian!
Unabhängig davon, dass Gunnar sich schon korrigiert hat - ein Sticky-Bit gibt es unter POSIX auch - es macht nur etwas komplett anderes (...)
Danke für die Erläuterungen! Vermutlich hat sich Gunnar deswegen verschrieben. Hätte mir nicht passieren können, dafür fehlt mir Euer Basiswissen!
Viele Grüße aus Frankfurt/Main,
Patrick