Titelausgabe über PHP steuern
am 19.10.2009 - 20:20 Uhr in
Hallo,
ich habe mal eine PHP-Frage, da ich mich damit leider nicht auskenne. Ich nutze für das ein und ausblenden des Node-Titels auf meinmen System-Seiten ein Optionsfeld im Backend wie hier: http://www.drupalcenter.de/node/21340 vorgestellt.
Allerdings möchte ich aus verschiedenen Gründen bei einigen Inhaltstypen die Titelzeile eines Beitrages auch an anderer Stelle und mit anderer Gestaltung in der Node-Vollansicht anzeigen lassen. Das lässt sich relativ einfach über
<?php
print $title
?>
Ich habe irgendwo mal gelesen das es für Drupal 6 eine PHP-Funktion geben soll mit der man das erkennen und ausschalten kann. Also vom Prinzip her so: Befindet sich ein Node in der Vollansicht (Ja/Nein?), dann soll die Titelausgabe der Funktion von der page.tpl.php nicht erfolgen. Somit würde dann nur die Titelausgabe der Funktion aus der Node.tpl.php erfolgen.
Gibt es eine entsprechende Funktion und wie müsste der entsprechende PHP-Code in der Page.tpl.php (oder in der node.tpl.php) dann aussehen.
- Anmelden oder Registrieren um Kommentare zu schreiben
ich habe dafür mal eine
am 19.10.2009 - 21:52 Uhr
ich habe dafür mal eine eigene page-node-NODETYPE.tpl.php genommen. das ist wahrscheinlich nicht der goldene weg, aber funktioniert sehr gut :)
__
http://aureli.us
PHP-Skript für Titel Ein-/ Ausblendung
am 20.10.2009 - 09:28 Uhr
Das funktioniert dann aber z.B. mit einer page-news.tpl.php komplett bei allen bei ...-.de/news/
Die Titelanzeige die die page.tpl.php auswirft bleibt dann bei einer .../news/all - Übersichtsseite auch ausgeschaltet.
Daher wollte ich gerne irgendeine Abfrage-/Ausgabefunktion in die page.tpl.php einbauen die erkennt ob mehrere Nodes mit Teaseransicht im Contentbereich der Page angezeigt werden oder nur ein Node in einer Vollansicht. Bei Anzeige von einem Node in der Vollansicht sollte dann die Titelanzeige aus der page.tpl.php ausgeschaltet sein, da der Node mit meiner jetzigen Einstellung, hier den Titel an anderer Stelle dann noch einmal auswirft. Das soll er ja auch, nur dann soll eben die Titelanzeige aus der page.tpl.php ausgeschaltet bleiben.
------
Ein Weg bildet sich dadurch,
das er begangen wird.
Das müsste mit folgendem
am 20.10.2009 - 10:00 Uhr
Das müsste mit folgendem Code gehen - ich habe den Node-Titel zwar nicht in der page.tpl.php definiert, sondern in der node.tpl.php, aber eigentlich dürfte das keinen Unterschied machen:
<?php if ($page != 0)
{
print $title;
}
?>
Bei mir ist der Code zwar ein bißchen anders, aber so müsste es klappen. Also diesen Code um den Titel in der page-Vorlage für den jeweiligen Inhaltstyp festlegen und in der node.tpl.php für den jeweiligen Inhaltstyp den Titel einbinden. Allerdings wäre es vielleicht ja auch eleganter, hier noch eine Abfrage aller "Wenn der Inhalt vom Inhaltstyp XY ist..." einzubauen - um nicht für jeden Inhaltstypen eine extra page-Vorlage erstellen zu müssen, da weiß ich jetzt aber gerade nicht, wie das funktioniert.
Präsentiert voller Stolz sein erstes Drupal-Projekt: http://www.diaet-clique.de
Titelausgabe klappt doch noch nicht ganz
am 20.10.2009 - 15:19 Uhr
Danke, Super,
es funktioniert.
-------- [EDIT] --------
Ok, da war ich wohl etwas vorschnell mit meiner Freude über die Lösung. Ja es ist richtig das der Titel aus der page.tpl.php beim Wert "O" nicht mehr angezweigt und beim Wert "1" wieder angezeigt wird. Wenn ich das allerdings so einsetzte, dann verschwinden nicht nur die Titelüberschriften der mit Views selbst gebauten Übersichtsseiten, sondern auch sämtliche Titelüberschriften aus der page.tpl.php, das heist auch die Titel der Vorschauseiten mit der Teaseransicht mehreren Nodes.
Ich denke da muesste man noch irgendwie eine Abfrage vorgeschalten, damit das wie gewünscht funktioniert.
Befindet sich im Contentbereich ein Node in der Vollansicht? -> dann mache das was beim Wert="0" festgelegt wurde.
Und befinden sich im Content mehrere Nodes in der Vorschauansicht? -> dann mache das was beim Wert="1" festgelegt wurde.
Oder denke ich da in eine falsche Richtung? Kann man das mit PHP realisieren und wenn ja, wie?
------
Ein Weg bildet sich dadurch,
das er begangen wird.
Also ich habe das halt so
am 20.10.2009 - 16:21 Uhr
Also ich habe das halt so gemacht, dass der Titel in der node.tpl.php definiert wird, nicht in der page.tpl.php. Das führt zwar dazu, dass in den Views keine Titel angezeigt werden, aber da nutze ich immer den Kopfbereich, um hier "per Hand" einen Titel sowie einen Einleitungstext zu definieren.
Hast Du das schon gesehen? http://drupal.org/node/249726
Präsentiert voller Stolz sein erstes Drupal-Projekt: http://www.diaet-clique.de
PHP-Titelausgabe
am 21.10.2009 - 10:50 Uhr
Ok, da ich selbst auch keine Ahnung von php habe, denke ich ich mache es auch so.
Ich werde die Titelausgabe aus der page.tpl.php löschen und entsprechend in der node.tpl.php
definieren. Ist zwar nicht ganz das was ich gesucht habe aber es erfüllt ja schließlich seinen Zweck.
Danke Dir für die freundliche Hilfe.
PS.: Falls doch noch jemand eine andere saubere Lösung hat, ich bin für alles offen.
------
Ein Weg bildet sich dadurch,
das er begangen wird.
Kleineres modul zum ausblenden der title
am 13.03.2010 - 16:06 Uhr
Ich hab mal ein kleiners modul zum ausblenden des titles geschrieben
probierts mal aus ;)
http://www.drupalcenter.de/node/21340