Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 14. Januar 2013 16:39

jojo
probiert CMS/ms aus
Registriert: 17. April 2012
Beiträge: 20

[GELÖST] Seitentitel bei Modul-Detailseiten anpassen

Hallo CMSMS-User

vielleicht könnt ihr mir bei einer Frage bezüglich der Anpassung der Seitentitel bei Detailseiten eines mit dem CTL Module Maker erstellten Moduls weiterhelfen. Bei einer älteren Website (CMS-Version 1.9.4.1 und CTLModuleMaker 1.8.9.3) funktionierte das mit dem unter FAQ beschriebenen Ansatz mittels UDT einwandfrei (siehe FAQ: Could I show the name of the selected item in, say, the page's <title> tag?).

Mit der CMS-Version 1.11.4 funktioniert dieser Anstz aber leider nicht mehr.

Aus diesem Grund habe ich nun am Ende des Detail-Templates (final_default) folgenden Befehl eingetragen:

{assign var='alt_title' value=$item->name}

Und im Pagetemplate beim Seitentitel den folgenden Abschnitt:

{if isset($alt_title)}
{$alt_title}
{else}
{title}
{/if}

Leider wieder ohne Resultat ... Als Seitentitel wird weiterhin der ursprüngliche Titel (z.B. Home) angezeigt.

Im Head-Bereich des Pagetemplates habe ich außerdem den folgenden Abschnitt eingefügt und dort funktioniert die Anzeige des Titels der Detailseite:

{if isset($alt_title)}
<title>{$alt_title} | {sitename}</title>
{else}
<title>{title} | {sitename}</title>
{/if}

Über Rückmeldungen und/oder Vorschläge zur Lösung des Problems würde ich mich sehr freuen!

Schöne Grüße,
Jojo

Offline

#2 14. Januar 2013 17:39

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

Re: [GELÖST] Seitentitel bei Modul-Detailseiten anpassen

Ich vermute mal, dass dein Seitentitel VOR dem Aufruf des Moduls(final_default) kommt.
Dann wäre die Variable $alt_title noch nicht zugewiesen, und somit auch noch nicht bekannt.

Da der BODY zuerst verarbeitet wird und danach der HEAD, ist $alt_title oben auch bekannt.

Warum es allerdings vorher funktioniert hatte, weis ich aber auch nicht.

Offline

#3 14. Januar 2013 20:29

jojo
probiert CMS/ms aus
Registriert: 17. April 2012
Beiträge: 20

Re: [GELÖST] Seitentitel bei Modul-Detailseiten anpassen

Danke für deine Hilfe! Daran scheint es wahrscheinlich zu liegen, auch wenn ich noch keine passende Lösung gefunden habe, damit die Überschriften ausschließlich dann angepasst werden, wenn eine Detailseite des mit dem CTL ModuleMaker erstellten Moduls geladen wird. Mir ist dabei noch nicht ganz klar, wie ich das Template des Moduls vor dem Seitentitel laden kann.

Bei meiner Recherche zu diesem Thema bin ich auch noch auf den folgenden Link gestoßen:
I do this

Dort wird noch auf den folgenden Eintrag in der config.php hingewiesen:

$config['process_whole_template'] = false;

Dieser fehlt in meiner config.php völlig. Kann es sein, dass es deshalb nicht so funktioniert wie bei der älteren Website?

Offline

#4 14. Januar 2013 20:36

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

Re: [GELÖST] Seitentitel bei Modul-Detailseiten anpassen

Unschön... aber du könntest vor dem Seitentitel das Modul ausführen, dabei einer Variablen zuweisen. Damit ist $alt_title der Template bekannt.
1.

{capture assign="moduleoutput"}{* Hier dein Modul aufrufen *}{/capture}

2. Dann in deinen Seitentitel einfügen
3. Dann das Modul dann an der richtigen Stelle ausgeben: {$moduleoutput}

So lange der Moduloutput nicht riesige Dateimengen beeinhaltet geht das schon.

Beitrag geändert von Klenkes (14. Januar 2013 20:38)

Offline

#5 14. Januar 2013 21:01

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Seitentitel bei Modul-Detailseiten anpassen

jojo schrieb:

Bei meiner Recherche zu diesem Thema bin ich auch noch auf den folgenden Link gestoßen:
I do this

Dort wird noch auf den folgenden Eintrag in der config.php hingewiesen:

$config['process_whole_template'] = false;

Dieser fehlt in meiner config.php völlig. Kann es sein, dass es deshalb nicht so funktioniert wie bei der älteren Website?

Diese Einstellung ist seit der 1.11er nicht mehr im Core enthalten. Wenn Global gültige Einstellungen gemacht werden sollen, baut man den Aufruf des Inhalts mit Vorteil vor dem <head> Tag ein:

{process_pagedata}
{title assign="pageTitle"}
{content assign="myContent"}

<html>
<head>
....
</head>
<body>
<h1>{$pageTitle}</h1>
{$myContent}
</body>

Dazwischen kann man dann die Aufrufe entsprechend anpassen


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#6 14. Januar 2013 22:14

czarnowski
kennt CMS/ms
Registriert: 18. Oktober 2012
Beiträge: 457

Re: [GELÖST] Seitentitel bei Modul-Detailseiten anpassen

title ist ein Plugin das überhaupt keine Speicherung bei normalem Einsatz vornimmt - es erfolgt direkt eine Ausgabe.

Wenn man den Titel aufgreifen möchte dann muss man es mit assign zuweisen auch das macht das Plugin.

<title>{title assign='titel'} {$titel} | {sitename}</title>

capture ist immer die allerschlechteste Möglichkeit aber hier seit langem offenbar immer sehr beliebt.
Man kann jeden unter Smarty vorhandenen Wert auch einer anderen Smartyvariablen zuweisen wenn man ihn irgendwo benötigt.

Beispiel:
<title>{title assign='titel'} {$titel} | {sitename}</title>
Zuweisung:   {$laberbum=$titel}
Ausgabe:  {$laberbum}

Wenn man sich nicht sicher ist unter welchem Namen man eine Variable bei Smarty findet - es gibt unverändert get_template_vars um sich das anzeigen zu lassen.

Man muss manchmal auch die Stelle suchen ab wann eine Variable vorhanden ist, dann setzt man get_template_vars einfach an verschiedene aber mögliche Stellen ein.

Offline

#7 15. Januar 2013 00:00

jojo
probiert CMS/ms aus
Registriert: 17. April 2012
Beiträge: 20

Re: [GELÖST] Seitentitel bei Modul-Detailseiten anpassen

Super, ganz vielen Dank für die ausführlichen Antworten, mit deren Hilfe ich nun eine gute Lösung hinbekommen habe. Ganz am Anfang des Seitentemplates habe ich die folgende Zeile eingefügt:

Im Detail-Template des mit dem CTL ModuleMaker erstellten Moduls habe ich dann folgendes eingetragen:

{assign var='alt_title' value=$item->name}

Und dann noch die Seitenüberschrift wiederum im Seitentemplate folgendermaßen angepasst:

{if isset($alt_title)}
{$alt_title}
{else}
{title}
{/if}

Also, wirklich nochmal vielen Dank für die Antworten und vielleicht hilft das ja auch noch anderen weiter!

Offline