Modulare Seitentemplates mit PHP-Code

Fragen zur Implementierung und/oder Anpassung von ConPresso 4 werden in diesem Forum diskutiert.
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7110
Registriert: 01.01.1970 02:00
Hat sich bedankt: 102 Mal
Danksagung erhalten: 916 Mal

Modulare Seitentemplates mit PHP-Code

Beitrag von MarkusR »

Zwei Dinge stören mich an den Seitentemplates (zumindest wenn man diese mit Header- und Footer-Dateien oder sogar mit mod_pages vergleicht):

1.) PHP-Code kann nicht ausgeführt werden
2.) In ein lächerlich kleines Feld soll der Code des gesamten Webseitengerüstes. Wenn man jetzt noch mit mehreren Templates arbeitet, dann muß man eigentlich grundlegende Dinge (die man früher in die global-Dateien geschrieben hat) immer und immer wieder neu eintragen und bei Änderungen an zig Stellen rumwurschteln.

Beenden wir das doch mal! :wink:

Die beiliegende _include/buildpage.inc.php erlaubt es, andere Seitentemplates einzubinden. Daher wollte ich es erst mit "PART" benennen, habe dann aber noch PHP-Code ausführbar gemacht, daher ist der Platzhalter jetzt "PHP".
(wobei jeder mit PHP-Kenntnissen weiß, daß PHP ohne umschließende PHP-Tags einfach nur HTML ist und ausgegeben wird. Ohne PHP-Anweisungen ist es also sowas wie ein Snippet)

Wie funktioniert es?

Man legt ein Seitentemplate an, das gar keines ist, sondern einfach nur ein Teil der Seite, wie z.B. das HEAD-Tag mit allem drum und dran wie Stylesheets, Scripten, Meta-Tags. Hierbei kann PHP benutzt werden, um ConPresso-Variablen oder beliebige Scripte auszugeben.

Nehmen wir mal an, wir haben dieses "Seitentemplate" nun "PHP Head-Tag" genannt (ich habe mir persönlich vorgenommen, die Templates mit "PART" oder "PHP" zu kennzeichnen, damit klar ist, daß sie kein eigentliches Seitentemplate sind, aber das kann jeder machen wie er will).

Nun kann ich dieses Teil in mehreren anderen Seitentemplates mittels <!-- PHP: PHP Head-Tag; --> einsetzen.

Der Platzhalter ist also <!-- PHP: Seitentemplatename; -->

Was geht nicht:
- die eigentlichen Seitentemplate-Platzhalter funktionieren in diesen eingebundenen Seitentemplates nicht (beim Verschachteln würden sich die Variablen gegenseitig abschießen)
- damit funktioniert natürlich auch das Einsetzen eines solchen Codestückes in ein anderes Codestück nicht

P.S. den Wunsch nach einem größeren Eingabefeld habe ich an die Entwickler weitergegeben...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7110
Registriert: 01.01.1970 02:00
Hat sich bedankt: 102 Mal
Danksagung erhalten: 916 Mal

Beitrag von MarkusR »

Was geht nicht:
- die eigentlichen Seitentemplate-Platzhalter funktionieren in diesen eingebundenen Seitentemplates nicht (beim Verschachteln würden sich die Variablen gegenseitig abschießen)
- damit funktioniert natürlich auch das Einsetzen eines solchen Codestückes in ein anderes Codestück nicht
Das hat mich jetzt doch genervt, also habe ich es geändert.

Nun kann man endlos verschachteln, denn es werden in einer Schleife alle Platzhalter vom Typ PHP und PART (neu!) verarbeitet bis keine weiteren mehr kommen und dann erst die restlichen Platzhalter.

So ist nun gewährleistet, dass in den PART/PHP-Platzhaltern auch die normalen Platzhalter verwendet werden können und eben dass ein eingebundener Part selbst wieder einen Part einbinden kann, der dann ebenfalls einen Part einbinden kann, der...

Hinweis: bei PART wird kein PHP-Code ausgeführt, bei PHP wird er ausgeführt.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 527
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 199 Mal
Danksagung erhalten: 17 Mal

Beitrag von hscha »

Gibt es irgendwo eine Liste der Template-Platzhalter für die Seitentemplates? Im Manual habe ich sie nicht gefunden...

Sommerliche Grüße
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7110
Registriert: 01.01.1970 02:00
Hat sich bedankt: 102 Mal
Danksagung erhalten: 916 Mal

Beitrag von MarkusR »

Das ConPresso-Handbuch gilt ja nur für 4.0.x, daher gibt es in 4.1.x die Datei
NEU-in-4-1_deutsch.txt
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 527
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 199 Mal
Danksagung erhalten: 17 Mal

Beitrag von hscha »

Lieber Markus,
der Platzhalter <!-- Page: breadcrumbs; --> im Seitentemplate liefert leider keine Brotkrumen. Der String ist leer. Ich habe deine obige Erweiterung installiert unter CPO 4.1.6 und php 7.2.

Grüße aus Berlin
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7110
Registriert: 01.01.1970 02:00
Hat sich bedankt: 102 Mal
Danksagung erhalten: 916 Mal

Beitrag von MarkusR »

Hast Du geprüft, ob es mit der originalen buildpage.inc.php funktioniert?
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 527
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 199 Mal
Danksagung erhalten: 17 Mal

Beitrag von hscha »

Noch nicht. Mach ich zeitnah!
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7110
Registriert: 01.01.1970 02:00
Hat sich bedankt: 102 Mal
Danksagung erhalten: 916 Mal

Beitrag von MarkusR »

Zur Info:
Ich habe eine 4.1.6 mit PHP 7.3 und der Anpassung und kann dort problemlos die Breadcrumbs ausgeben.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 527
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 199 Mal
Danksagung erhalten: 17 Mal

Beitrag von hscha »

Lieber Markus,
mein Fehler. Jetzt funktioniert alles so, wie es gedacht ist...
Grüße aus Berlin von
Horst