PHP-Code in Variable schreiben |
Willkommen, Gast ( Anmelden | Registrierung ) [ Hilfe | Mitglieder | Suche ]
PHP-Code in Variable schreiben |
Sun. 15. June 2008, 15:22
Beitrag
#1
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 446 Mitglied seit: 12.09.2006 Wohnort: Bamberg Mitglieds-Nr.: 235 |
Ich als nicht Programmierer verzweifel beim testen an folgendem Szenario.
Ich möchte folgenden Code in $test bekommen, damit beim Aufruf dieser folgender Code abgearbeitet wird: $file='test.gif'; $folder="test"; include("/xy/datei.php"); Kann mir jemand auf die Sprünge helfen? |
|
|
Sun. 15. June 2008, 17:16
Beitrag
#2
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 442 Mitglied seit: 02.07.2006 Wohnort: Halle Mitglieds-Nr.: 71 |
Was willst du denn machen
-------------------- |
|
|
Sun. 15. June 2008, 17:24
Beitrag
#3
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 446 Mitglied seit: 12.09.2006 Wohnort: Bamberg Mitglieds-Nr.: 235 |
ich hab ein Modul geschrieben oder besser gesagt zusammen kopiert und probiert damit es so weit klappt.
bei mir gibt es jetzt viele mipforms, damit ich das ganze nicht mehr quellcode ändern muss. Ich möchte 3 Templates machen: 1. Template Beginn 2. Details 3. Template Ende im Details-Template sollen bestimme Teile eingefügt werden: ich möchte in diesem Template einen Platzhalter {test} einrichten, welcher wieder auf diesen Code zu greift. Es klappt ja schon alles, aber ich möchte im Details-Template nur noch mit den Platzhaltern arbeiten, damit ich die Reihenfolge flexibel gestalten kann. Mein Gedanke war, wenn der obere Code in dieser Variable steht könnte ich diesen über die Funktion str_replace in mein Gesamt-Template einpflegen. |
|
|
Sun. 15. June 2008, 18:17
Beitrag
#4
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 442 Mitglied seit: 02.07.2006 Wohnort: Halle Mitglieds-Nr.: 71 |
Und was steht am Ende typischerweise im Quelltext der ausgegebenen Seite? Ein Pfad zu einem Bild?
-------------------- |
|
|
Sun. 15. June 2008, 19:37
Beitrag
#5
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 446 Mitglied seit: 12.09.2006 Wohnort: Bamberg Mitglieds-Nr.: 235 |
du hast PN
|
|
|
Tue. 17. June 2008, 17:18
Beitrag
#6
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 446 Mitglied seit: 12.09.2006 Wohnort: Bamberg Mitglieds-Nr.: 235 |
Ich muss es jetzt noch mal versuchen.
Bei einem selbst zusammen geschusterten Modul hab ich ein $mip_form['3'] als Textarea. In diesem sollen Platzhalter ersetzt werden, wie es schon bei vielen Modulen der Fall ist. Meine Funktion: $tmp_details = "MOD_VALUE[3]"; $tmp_details = str_replace('{platzhalter}', 'Hallo', $tmp_details); echo $tmp_details; Dies klapp dann schon, denn es wird Hallo statt {platzhalter} angezeigt. Das war nur zum testen. Jetzt sollte aber folgender Code eingesetzt und abgearbeitet werden, statt dem Hallo: $a="MOD_VALUE[10]"; include("/ordner/test.php"); Ich möchte in dieser Textarea einfach HTML-Code mit den {platzhaltern} verbinden, um ein recht flexibles Design zu erstellen! |
|
|
Tue. 17. June 2008, 20:03
Beitrag
#7
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 442 Mitglied seit: 02.07.2006 Wohnort: Halle Mitglieds-Nr.: 71 |
Wie schon gesagt, sieh dir file() oder fil_get_contents() an. Da hast du das Ergebnis der Ausgabe der php-Datei.
-------------------- |
|
|
Tue. 17. June 2008, 20:13
Beitrag
#8
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 343 Mitglied seit: 26.06.2006 Wohnort: CH Mitglieds-Nr.: 5 |
Ich muss es jetzt noch mal versuchen. Bei einem selbst zusammen geschusterten Modul hab ich ein $mip_form['3'] als Textarea. In diesem sollen Platzhalter ersetzt werden, wie es schon bei vielen Modulen der Fall ist. Meine Funktion: $tmp_details = "MOD_VALUE[3]"; $tmp_details = str_replace('{platzhalter}', 'Hallo', $tmp_details); echo $tmp_details; Dies klapp dann schon, denn es wird Hallo statt {platzhalter} angezeigt. Das war nur zum testen. Jetzt sollte aber folgender Code eingesetzt und abgearbeitet werden, statt dem Hallo: $a="MOD_VALUE[10]"; include("/ordner/test.php"); Ich möchte in dieser Textarea einfach HTML-Code mit den {platzhaltern} verbinden, um ein recht flexibles Design zu erstellen! Wenn du in deinem Includ $a verwendest, wird es auch funktionieren, ab Wenn du aber MOD_VALUE[10] im includ verwendets, dann ist auch klar, dass das nicht funktioniert. Die MOD_VALUE[10] werden vor dem ausführen durch deren Inhalt ersetzt, dies kann aber nur beim Inhalt (output) des Modul geschehen und nicht bei eingebundenen Daten. Siehe: Lösung1: im include $a verwenden. Dies ist die sinnvollste Variante und wird z.B. auch im ContentFlex so verwendet. unschöne Variante2: im Include $cms_mod['value'][10] verwenden anstelle von "MOD_VALUE[10]". Bei dieser Variante besteht, die Gefahr, dass diese in einer zukünftigen Version nicht mehr funktioniert. P.S. Wenn die MOD_VALUE im dynamisches PHP zur Verfügung stehen sollen gibt es noch diesen Code: QUELLTEXT <CMSPHP:CACHE> //Alle Variablen, die nur innerhalb des gecachten PHPs sichtbar sind, auch für dynamisches PHP zur Verfügung stellen echo '<CMSPHP>'; if (is_array($cms_mod['value'])) { foreach($cms_mod['value'] AS $k => $v){ echo '$mvars["'.$k.'"] = "'. addslashes($v) .'";'."\n"; }} echo '</CMSPHP>'; </CMSPHP:CACHE> -------------------- So einfach wie möglich, aber nicht einfacher!
(Albert Einstein) |
|
|
Tue. 17. June 2008, 20:49
Beitrag
#9
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 446 Mitglied seit: 12.09.2006 Wohnort: Bamberg Mitglieds-Nr.: 235 |
Danke euch beiden. Werde dies morgen testen!!
|
|
|
Vereinfachte Darstellung | Aktuelles Datum: 20.4.24 - 12:05 |