Willkommen, Gast ( Anmelden | Registrierung )     [ Hilfe | Mitglieder | Suche ]

 
Reply to this topicStart new topic
> PHP-Code in Variable schreiben
FireFlyer
Beitrag 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?
Go to the top of the page
 
+Quote Post
pawel
Beitrag 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


--------------------
Go to the top of the page
 
+Quote Post
FireFlyer
Beitrag 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.
Go to the top of the page
 
+Quote Post
pawel
Beitrag 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?


--------------------
Go to the top of the page
 
+Quote Post
FireFlyer
Beitrag 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
Go to the top of the page
 
+Quote Post
FireFlyer
Beitrag 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!
Go to the top of the page
 
+Quote Post
pawel
Beitrag 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.


--------------------
Go to the top of the page
 
+Quote Post
mistral
Beitrag 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



ZITAT(FireFlyer @ Tue. 17. June 2008, 18:18) *
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)
Go to the top of the page
 
+Quote Post
FireFlyer
Beitrag 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!!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 Besucher lesen dieses Thema (Gäste: 1 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 20.4.24 - 12:05

Sefrengo ist ein eingetragenes Markenzeichen und urheberrechtlich geschützt.
Copyright 2009 Design & Daten, Alle Rechte vorbehalten.