PHP im "Theme" verwenden

Begonnen von THEarg, 08 Juni 2007, 04:35:40

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

THEarg

Guten morgen ihr freunde der Nacht, ich saß gerade hier und hab mir ein neues Layout für das PragmaMX
gecodet, und kam auf die idee ein paar spielereien im Header zu verwirklichen, deshalb nun meine Frage:

Ist es möglich phpcode in der theme.html datei zu benutzen und wenn ja, wie?
wäre dankbar für eine baldige antwort, da ich zum wochende hin mein neues Style fertig haben will.

Vielen dank für euere aufmerksamkeit, MfG THEarg

JoergK

Zitat von: THEarg am 08 Juni 2007, 04:35:40
Ist es möglich phpcode in der theme.html datei zu benutzen und wenn ja, wie?

Die Antwort ist Jain.  ;)

Wenn Du Deinen Server - sofern Du Zufriff darauf hast, so einstellst, dass auch Seiten mit der Endung .htm / .html über den PHP-Interpreter laufen, dann ja.

Im Regelfall wird dies aber nicht direkt gehen, sondern nur über den "Umweg" der Ersetzungsfunktion der Theme-Engine. Du hast sicherlich bereits nen Blick ins Theme mx-default geworfen und in der theme.html Einträge wie {CURRENTPATH}, {LOGINFORM} etc. gesehen. Diese Ersetzungsbezeichner werden mittels der functions.php ersetzt.

Beispiel:

  • In der theme.html steht {CURRENTPATH} an der Stelle, wo nachher in der Ausgabe der Seite der aktuelle Pfad drin steht.
  • In der functions.php findet man diesen Ersetzungsbezeichner in ca. Zeile 60
    Zitat$part[] = array("{CURRENTPATH}", mx_theme_currentpath());
    Hier wird "gesagt", dass {CURRENTPATH} mit (der Ausgabe) der function mx_theme_currentpath() zu ersetzen ist.
  • Die function finden wir ebenfalls in der functions.php und zwar in ca. Zeile 327-346
    Zitatfunction mx_theme_currentpath($spacer = ' > ')
    {

    ...

    }

Das heisst nun, dass Du Deine zusätzlichen Informationen nach gleichem Muster aufbauen musst, um sie im Theme zu integrieren.
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

henne

Schön erklärt  ;) das top ich mal und verschoben hab ichs auch gleich noch.
bye Henne

don't click the blue "e" on your desktop, use Firefox

Jeden Tag verschwinden Rentner im Internet, weil sie gleichzeitig alt und entfernen drücken

THEarg

#3
Dann bedanke ich mich mal ganz herzlich bei "JoergK";
Ich hatte schon einen blick in die functions.php geworfen, und mir war auch
klar das es mit der template funktion klappen müsste, allerdings wusste ich
bisher nicht wie ich die funktion ausführe, Vielen Dank :D

mfg THEarg

Carlos Brasil

Klappt aber auch so ...

AddType application/x-httpd-php .html
AddType application/x-httpd-php .htm

oder so

AddType application/x-httpd-php .html .htm

je nach Apacheversion / PHPversion

in der .htaccess
Carlos Brasil • http://www.kwjr.de

THEarg

Also in der functions.php kann man die Themes-file angeben, also kann man aus theme.html in theme.php
machen, trotzdem wird der php code nicht ausgeführt, hab es jetzt mit den functionen gemacht, und klappt super.
:D

Andi

#6
Hi :)

wie die template Datei heisst, ist egal, die kann auch dingsbums.dos heissen. Hauptsache der Dateiname ist in der functions.php richtig angegeben. Die Templatedatei wird von php nicht interpretiert, sondern es wird nur deren Inhalt ausgelesen und weiterverarbeitet.
Wir nehmen .html als Dateiendung, damit man die ohne grosse Umstände in jedem Browser direkt anschauen kann....
http://www.pragmamx.org/themes/pragmamxfresh2006/theme.html

Der einzig gangbare Weg ist also wirklich der, den JoergK aufgezeigt hat.
schön´s Grüssle, Andi

BundeHund

hallo

ich habe das mit der functions.php versucht und es ging wunderbar..
nur mein problem. ich wollte die "anycontent.php" per {TEST} einfügen.

Aber nun steht da wo ich es eingefügt habe "Not in Coppermine"

wie kann man das umgehen ?