Page 1 of 1

Titelbilder mit PHP einbinden

Posted: Sat 3. Dec 2005, 12:39
by Lümmel
Hallo Zusammen!
Beim Wechsel in eine andere Strukturebene soll entsprechend auch das Titelbild gewechselt werden.
So sieht der header aus.

<!-- Header-BILD -->
<td width="610" bgcolor="#999999">
<img src="<?php echo $titelbild ?>" width="610" height="140" alt="Titelbild" />
</td>
</tr>

Und folgender Code steht dann jeweils mit unterschiedlichen Bilddateien in der entsprechenden Strukturebene:
<?php
$titelbild = "picture/header_uhr.jpg";
?>

Das funktioniert in anderen Projekten, die nicht auf PHPWCMS basieren, wunderbar. So wie ich das sehe gibt es hier grundsätzlich Probleme beim Einbinden von PHP-code. Ich habe so ziemlich alle Varianten durch, und nach 4 Stunden stehe ich jetzt auf dem Schlauch.

Hilfe, ich werd bekloppt.

Gruß
Lümmel

Posted: Sat 3. Dec 2005, 13:31
by pico
Hi

hast du es mal mit [PHP]dein Code [/PHP] versucht?

Außerdem musst du die Variable Global machen, da sie in der gerufenen Routine nicht mehr gültig ist!

Posted: Sat 3. Dec 2005, 15:15
by Lümmel
pico wrote:Hi

hast du es mal mit [PHP]dein Code [/PHP] versucht?

Außerdem musst du die Variable Global machen, da sie in der gerufenen Routine nicht mehr gültig ist!
Hab ich alles probiert, klar. Was meinst Du mit Variable global machen.
(Ich bin nicht so fit in PHP)

Gruß
Lümmel

Posted: Sat 3. Dec 2005, 16:11
by Lümmel
Ich bins nochmal.
Selbst das funktioniert nicht

<!-- Header-BILD -->
<td width="610" bgcolor="#999999">

[PHP]$titelbild = "/am-odd/picture/header_uhr.jpg";[/PHP]

<img src="[PHP] echo $titelbild [/PHP]" width="610" height="140" alt="Titelbild" />

Posted: Sat 3. Dec 2005, 16:12
by pepe
Wenn es nur zufällig gewechselt werden soll... verwende doch das ReplacementTag

{RANDOM:Pfad zum BilderoOrdnerMitDen RandomBildern}

Posted: Sun 4. Dec 2005, 09:46
by cwenet
Hallo Lümmel,

das hier ist schon korrekt:

Code: Select all

<!-- Header-BILD --> 
<td width="610" bgcolor="#999999"> 

[PHP]$titelbild = "/am-odd/picture/header_uhr.jpg";[/PHP] 

<img src="[PHP] echo $titelbild [/PHP]" width="610" height="140" alt="Titelbild" />
Aber was heißt: funktioniert nicht?
Irgendetwas muß doch passieren.
Wo genau setzt Du diesen Code ein?
Hast Du eine URL, wo man sich das anschauen kann?

Christoph

Posted: Sun 4. Dec 2005, 10:48
by Lümmel
Tach Christoph,
es läuft zur Zeit alles nur auf meinem localhost. Ich habe es im Backend/admin/vorlagen/kopfzeile eingetragen.

Im Quellcode der Seite sieht es dann so aus:

<!-- Header-BILD -->

<td width="610" bgcolor="#999999">

<img src="" width="610" height="140" alt="Titelbild" />

</td>
</tr>

Wie gesagt es passiert nix.
Auch folgendes funktioniert nicht.

<!-- Header-BILD -->
<td width="610" bgcolor="#999999">

[PHP]$titelbild = "Ein Test";[/PHP]

[PHP]echo $titelbild; [/PHP]

</td>
</tr>

Und folgendes funktioniert, nützt mir aber so nix.

<!-- Header-BILD -->
<td width="610" bgcolor="#999999">

[PHP]$titelbild = "Ein Test";

echo $titelbild; [/PHP]


</td>
</tr>

Posted: Sun 4. Dec 2005, 10:56
by cyrano
Hallo Lümmel,

ich mach das so - basierend auf einem Script von JAN212:
I do it this way - based on a script from Jan212:

Code: Select all

<?php
///////////////////////////////////////////////
// Variables Headimage Version 1.0  		///
//                                   		///
// Jan Fervers - wcmsrockt.null212.de 		///
///////////////////////////////////////////////


switch($GLOBALS['content']['cat_id']) {

case 35: echo '{RANDOM:picture/referenzen/}'; break;//referenzen
case 31: echo '{RANDOM:picture/profil/}'; break;//profil
case 50: echo '{RANDOM:picture/vita/}'; break;//vita
case 51: echo '{RANDOM:picture/interview/}'; break;//interview
case 36: echo '{RANDOM:picture/news/}'; break;//news
case 38: echo '{RANDOM:picture/internet/}'; break;//internet
case 40: echo '{RANDOM:picture/cd-rom/}'; break;//cd-rom
case 41: echo '{RANDOM:picture/workshop/}'; break;//workshop
case 42: echo '{RANDOM:picture/illustration/}'; break;//illustration
case 45: echo '{RANDOM:picture/praesentation/}'; break;//praesentation
case 46: echo '{RANDOM:picture/print/}'; break;//print
case 47: echo '{RANDOM:picture/presse/}'; break;//presse
case 33: echo '{RANDOM:picture/kontakt/}'; break;//kontakt
case 58: echo '{RANDOM:picture/sitemap/}'; break;//sitemap
case 34: echo '{RANDOM:picture/impressum/}'; break;//impressum

case 1:  echo '<img src="picture/default/zahnrad.jpg>'; break;//home
case 44: echo '<img src="picture/default/zahnrad.jpg>'; break;//home

default:    echo '<img src="picture/springtime.jpg" alt="meinbild">';

}

?>
Erklärung/ Description:
case 33: echo '{RANDOM:picture/kontakt/}'; break;//kontakt

case 33 = structure level ID

And i put for each structure level a folder called like the structure level into the folder "pictures" and put all images inside i wanna show randomly.

I named this php script "myheader.php" and placed it in root of wcms installation.

and i put this in my Head of Template:

Code: Select all

{PHP:myheader.php}
I hope you get further.

Posted: Sun 4. Dec 2005, 13:14
by cwenet
Hallo Lümmel,

versuch das mal:

Code: Select all

<!-- Header-BILD --> 
<td width="610" bgcolor="#999999"> 

[PHP]$_SESSION['titelbild']= "Ein Test";[/PHP] 

[PHP]echo $_SESSION['titelbild'] [/PHP] 

</td> 
</tr>
Gruß
Christoph

Posted: Sun 4. Dec 2005, 13:48
by Lümmel
cwenet wrote:Hallo Lümmel,

versuch das mal:

Code: Select all

<!-- Header-BILD --> 
<td width="610" bgcolor="#999999"> 

[PHP]$_SESSION['titelbild']= "Ein Test";[/PHP] 

[PHP]echo $_SESSION['titelbild'] [/PHP] 

</td> 
</tr>
Gruß
Christoph
Hallo Christoh,
du hast mir den Tag gerettet, es funktioniert - sensationell - ich werd bekloppt.

Wenn Du noch en Moment Zeit hast - würde mich interessieren warum das so sein muß. Man wird ja nicht dümmer davon.

1000 Dank und einen Schönen Sonntag wünsch ich Dir.

Gruß Lümmel

Posted: Sun 4. Dec 2005, 14:01
by cwenet
Warum das so ist, kann ich nicht genau sagen. Bin auch kein PHP-Guru, eher ein Bastler.
Ich vermute aber mal, wenn man den PHP-Code mit [/PHP] beendet, gehen auch alle zuvor definierten Variablen verloren.
Mit sessions kannst Du das Ganze globaler gestalten.

Christoph