Hallo,
ich hatte wegen dieser Frage den Autor des Plugins schon angeschrieben (sorry), bin mir aber nicht sicher ob er die Nachricht auch erhalten hat. Deshalb hier ein neuer Anlauf.
Ich benutze moziloCMS 2.0, die PHP Version ist 5.5.3 - ich teste noch lokal.
In dem Layout richte ich auf einer Seite eine sidebar ein mit
[sidebar_right|[include|Seite1]]
Die versteckte Seite1 enthält
{PHP|$akdatenmy = file("../downloads/xyz.txt");
echo $akdatenmy[0];}
Führe ich eine Vorschau dieser einzelnen Seite aus, wird die Datei xyz.txt gelesen und die erste Zeile ausgegeben - alles ist gut.
Rufe ich meine komplette Homepage auf bekomme ich den Fehler: "Parse error: syntax error, unexpected '/' in C:\xampp\htdocs\moziloCMS\plugins\PHP\index.php(23) : eval()'d code on line 2
]"
Und da komme ich nicht weiter, verstehe aber die Zusammenhänge auch nicht ausreichend. Über Hilfe freue ich mich sehr - danke.
mysli
Benutze die Konstante "BASE_DIR" das ist der Pfad in den Ordner von mozilo inkl. abschliesenden "/"
z.B. file(BASE_DIR."downloads/xyz.txt");
lg stefanbe
Das war ja flott, danke.
Leider ändert das am Verhalten nichts: es geht in der Vorschau, nicht in 'echt'.
Der Ordner downloads war außerhalb des mozilo-Ordners. Ich habe ihn für den Test verschoben.
Gruß.
Poste mal was du in file(? ? ?); stehen hast.
lg
Hallo,
ich hab deine Nachricht schon bekommen, war nur die letzten Tage etwas Skifahren darum bin ich noch nicht zum Antworten gekommen.
Ich denke das Problem kommt da durch, dass das Sidebar Plug-in durch den direkten Aufruf im Template sehr zeitig wiederum das php Plug-in aufruft. Bei meinem Test kam das CMS aufjeden Fall mit dem
- im php Code durcheinander, da hing noch ein Teil vom nächsten {...} Aufruf mit drann, denn es dann mit ausführen wollte.
Probier mal bitte folgendes. Im Plug-in PHP in der index.php die Zeile:
$value = str_replace(array("-html_lt~","-html_gt~"),array("<",">"),$value);
ersetzen durch:
$value = str_replace(array("-html_lt~","-html_gt~"),array("<",">"),$value);
$value = str_replace("^", "", $value);
und deinen php Code durch:
{PHP|$akdatenmy = file("../downloads/xyz.txt");
echo $akdatenmy^[0^];}
ersetzen, also vor dem [ und dem ] jeweils ein ^.
Ich bin mir jetzt auf die schnelle nur nicht ganz sicher ob das so immer funktioniert. Muss man nochmal ausgiebig testen.
Hallo in die Runde!
Ich nutze das sidebar-Plug / ur Piepstachel / 2.0 konv. von dummwiebrot selbst immer wieder gern. Leider werden auch gewollte Umbrüche/ENTER/EOL+CR/chr13 nicht "geparst" verwende daher immer "harte" html-<BR>s (als Syntaxelement). Nur mal so - Geht ja auch ... aber schick ist sicher anders... :-[
Gibt es dazu eine bessere Lösung oder handhabe ich das einfach falsch?!
Hallo,
danke für eure Anteilnahme.
Der Inhalt der Datei war reiner Text, und wurde so ja auch in der Vorschau als auch auf meiner bisherigen Seite richtig behandelt.
Die Lösung von blacknight funktioniert - prima. Hoffentlich war das Skifahren schön!.
Wird das jetzt Bestandteil des Plugins oder ist das 'meine private' Lösung?.
Villeicht noch etwas anderes: wie ist denn das Verfahren in 2.0 um php-code in eine Datei auszulagern?
Viele Grüße.
mysli
Hallo mysli und "herzhaft" willkommen bei mozilo!
Der beste + sicherste Weg einer php-Auslagerung sollte unseres Erachtens die Implementation / Einbindung via Plugin über die Plugin-Schnittstelle sein. Hier gibt es mehr ... thx black-night!
http://www.mozilo.de/forum/index.php/topic,3585.msg17778.html#msg17778 (http://www.mozilo.de/forum/index.php/topic,3585.msg17778.html#msg17778)
bzw. direkt http://mozilodocu.black-night.org/ (http://mozilodocu.black-night.org/)
:arrow: Offiziell wird das sicher bald noch irgendwie "angedockt" oder verwurstet.
ALSO: Nicht nur einbinden - Sondern PLUGINinsieren. ;)
Zitat von: mysli am 28. Januar 2014, 20:49:32
...
Wird das jetzt Bestandteil des Plugins oder ist das 'meine private' Lösung?.
...
Wenn es keine negativen Auswirkungen hat und stefanbe da auch keine Probleme sieht oder eine bessere Lösung hat wird das die nächsten Tag mit in das Plug-in integriert.
sehe nichts :D