Antworten auf deine Fragen:
Neues Thema erstellen

PHP in XSLT ausführen

A

augenball

Guest

Moin,
also ich habe jetzt eine geraume Zeit rumprobiert. Meine ausgelagerte Navi via php in mein xslt-Stylesheet auszugeben. bisher habe ich versucht über <xsl:value-of select="php:include("navi.html");"/> und <wsl:php> phpcode </wsl:php>, habe die xslt in php umbenannt und die output methode in php umgesetzt ohne das der Parser irgendwas verstanden hat.

Hilfe! - gibt es irgendwie einen Weg das xslt php versteht und meine Navi lädt?

Gruß Ulf
 

ChrisvA

Aktives Mitglied

AW: PHP in XSLT ausführen

Der PHP-Parser interpretiert normalerweise nur das, was innerhalb von <?php ... ?> steht. Manchmal auch das, was zwischen <? ... ?> steht.
Probiere mal statt <wsl:php> PHP-Code </wsl:php> das so zu schreiben:
<?php PHP-Code ?>
Dann sollte der Parser das verstehen.

PS: Falls du die Datei nicht in .php umbenennen möchtest, kann man z.T. auf den Servern einstellen, dass auch die Endung .xslt
 
J

Jafix

Guest

AW: PHP in XSLT ausführen

Der PHP-Parser interpretiert normalerweise nur das, was innerhalb von <?php ... ?> steht. Manchmal auch das, was zwischen <? ... ?> steht.

Wenn es dich interessiert, das hängt davon ab welcher Wert in deiner php.ini bei "short_open_tag" gesetzt ist. Bei "On" ist es möglich, bei "Off" musst du <?php ... ?> benutzen.

Lg
 
A

augenball

Guest

AW: PHP in XSLT ausführen

Danke Chris für die Tipps leider funktioniert es nicht wenn ich die xslt Datei in PHP umbenenne:
Fehler beim Laden des Stylesheets: Beim Laden eines XSLT-Stylesheets ist ein Netzwerkfehler aufgetreten:
.

Auch bei meinem Telekom-Server kann ich nicht einfach eine Dateiendung eingeben. Was möglich ist, soweit ich das verstanden habe ist eine php.ini Datei. Davon habe ich bloß keinen Plan welchen Befehl ich geben müsste ... :'(

Wenn ich die Datei-Endung wieder auf xsl Umstelle und den PHP-Code drinnen lasse gibt es keine Probleme, nur die Navi wird nicht reingeladen.

Wie funktioniert das bloß???

Gruß Ulf
 

ChrisvA

Aktives Mitglied

AW: PHP in XSLT ausführen

Mir scheint es so, als würdest du auf die Datei .xsl leiten, obwohl die Datei in der Zwischenzeit umbenannt wurde. Ändere also entweder den Verweis auf das Menü. Alternativ könntest du ModRewrite nutzen (falls dein Server das unterstützt).
Dann wird, ob wohl die Abfrage auf .xsl endet die .php Datei aufgerufen.
 
J

Jafix

Guest

AW: PHP in XSLT ausführen

Mh... mir fiel da grade noch was anderes ein.
Hast du es schon mal mit
Code:
<xsl:text disable-output-escaping="yes"><![CDATA[<?php "DEIN PHP CODE" ?>]]></xsl:text>
probiert?
 
A

augenball

Guest

AW: PHP in XSLT ausführen

ne ne, ich habe die Dateien schon richtig verknüpft ... also xsl bzw. php auch in der xml-Datei eingegeben, darauf habe ich schon richtig geachtet er parst aber nur die xsl - Datei und ignoriert <?php ... ?> bei der php-Endung kommt nur der Fehler:
Fehler beim Laden des Stylesheets: Beim Laden eines XSLT-Stylesheets ist ein Netzwerkfehler aufgetreten:

Das einzige was mein "Server" (eher Webspace) zulässt ist eine php.ini - Datei mehr nicht

mit xhtml usw. funktioniert es tadellos nur mit der xslt Datei keine chance (habe ich schon durch das inetz gewühlt ohne erfolg ...)
 

ChrisvA

Aktives Mitglied

AW: PHP in XSLT ausführen

Hast du mal einen Link zu einer Beispielseite.
Der Fehler heißt vermutlich, dass die Datei nicht gefunden wurde.
 

saila

Moderatorle

AW: PHP in XSLT ausführen

Hi,

um xsl oder xslt korrekt über php zu verarbeiten, müssen diese wiederum in php selbst geparst werden. Das ganze geht mit .


Für manche mit absurden Vorschlägen, wäre es einmal ratsam, einfach mal selbst PHP weiter zu lernen, als irgendwelche aus der Luft gegriffene Vorschläge mitzuteilen - auch wenn diese noch so gut gemeint sind!
 
A

augenball

Guest

AW: PHP in XSLT ausführen

Danke noch mal für die Tipps @Chris aber an einem Verknüpfungsfehler liegt es definitiv nicht.

@saila: auch Dir Danke ich für den Tipp, leider finde ich dieses xslt-Manual verwirrend heißt das ich muss mein xslt per php programmieren ohne xslt-Befehle und nur mit php-befehlen? - Leider sind diese Programmiersprachendokumentationen verwirrender als hilfreich, weil die Leute die das Schreiben voraussetzen das man HardcoreCoder ist.
Gibt es nicht irgendein Tutorial wo das beschrieben wird???

Gruß Ulf
 
A

augenball

Guest

AW: PHP in XSLT ausführen

Das ist ja gerade das Problem: <?php ... ?> wird nicht als Fehler erkannt aber auch nicht ausgeführt, wenn ich xsl als Endung habe bei php kommt ein Fehler und nochmal die Dateien sind 1A korrekt verknüpft mit den Dokumenten ;)
 

Christian

verpeilt & verschallert

AW: PHP in XSLT ausführen

Der Grund, warum bei der Endung .php Dein Browser streikt, wird sein, dass er den korrekten Mime-Type nicht erkennt, da .php vom HTTPServer aus standardmäßig text/html ausgibt, während der Browser an dieser Stelle text/xsl erwartet.
Das kannst Du damit umgehen:
xsl.php
PHP:
<?php
header('Content-Type: text/xsl');
?>
<?xml (ganz viel xsl)...

<xsl:text> <?php echo $testtext ?> </xsl:text>
(wieder ganz viel xsl)
 
A

augenball

Guest

AW: PHP in XSLT ausführen

das funktioniert auch nicht weiß nicht was ich falsch mache, von der Logik her macht es aber Sinn ...

ich poste mal mein Quellcode (alle Dateien)



Danke Christan und Gruß
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.613
Beiträge
1.538.346
Mitglieder
67.524
Neuestes Mitglied
BSKGA
Oben