[gelöst] Kann keine spezielle page.tpl.php erstellen
am 06.10.2009 - 23:21 Uhr in
Hey Leute, ich habe hier mal wieder ein Problem:
Ich benutz das Theme "Pixture Reloaded".
Dort möchte ich einige Beiträge vom Core-Inhaltstyp "Seite" erstellen. Allerdings möchte ich dort den Titel nicht angezeigt bekommen.
Also habe ich in der page.tpl.php den Aufruf für "print $title" rausgenommen und das hat sowei geklappt.
Allerdings werden so auch die Titel von allen anderen Inhaltstypen ausgeblendet, logisch.
Nun wollte ich eine spezielle Datei erstellen, welche sich nur auf den Seiten-Inhaltstyp bezieht und habe sie "page-page.tpl.php" genannt.
Allerdings werden alle Änderungen darin nicht angenommen, das heißt, mein Drupal nimmt immer die Befehle aus der normalen page.tpl.php :(
Auch eine page-story.tpl.php hat nicht funktioniert (für den Inhaltstyp "Artikel").
Node-page.tpl.php funktioniert ohne Probleme, allerdings kann ich damit nicht den Titel ausblenden :(
Könnt ihr mir da helfen? Warum funktioniert das nicht? Warum akzeptiert er die page-page.tpl.php nicht?
mfg Exterior
- Anmelden oder Registrieren um Kommentare zu schreiben
Wieso legst du nich für die
am 07.10.2009 - 06:12 Uhr
Wieso legst du nich für die Seiten, die keinen Titel haben sollen, einen eigenen Inhaltstypen an? dann brauchst du nurnoch die Datei node-deinInhaltstyp.tpl.php anlegen und schon haste das, was du haben möchtest.
Theme cache
am 07.10.2009 - 06:46 Uhr
Hallo.
Hast Du mal den Theme Cache geleert?
Ansonsten war die Vorgehensweis richtig.
@stebeg: die page.tpl.php wird verwendet, wenn eine Node direkt als eigenständige Seite angezeigt wird (also nicht in Auflistungen).
hth,
Stefan
--
sei nett zu Deinem Themer
page-page.tpl.php ist auch
am 07.10.2009 - 07:02 Uhr
page-page.tpl.php ist auch völliog falsch. mit nodetype-node.tpl.php
page-story.tpl.php ist auch
am 07.10.2009 - 07:04 Uhr
page-story.tpl.php ist auch falsch. richtig: node-story.tpl.php
page-[nodetype].tpl.php
am 07.10.2009 - 07:08 Uhr
page-page.tpl.php ist auch völliog falsch.
Nein. Siehe Different page template depending on node type.
Allerdings muss man das erst einstellen. Ich hab das jetzt schon so oft gemacht und bau das auch sofort in jedes Theme ein, so dass ich das mittlerweile als Quasi-Standard ansehe ;-).
Btw.: für die Anforderung von Exterior funktioniert die Lösung über die node-[nodetype].tpl.php definitiv nicht. Damit wird der Titel auf einer Seite nicht entfernt.
Stefan
--
sei nett zu Deinem Themer
Wie Stefan schon geschrieben
am 07.10.2009 - 19:42 Uhr
Wie Stefan schon geschrieben hat, wird der Titel bei einer einzelnen Seite bei diesem Theme über die page.tpl.php ausgegeben.
@Stefan
Ja, habe den Cache geleert und trotzdem klappt es nicht =( Mir wird nach wie vor der Titel angezeigt.
Hast du noch weitere Ideen?
mfg Exterior
Titel ausblenden
am 07.10.2009 - 21:31 Uhr
Titel ausblenden hatten wir schon
einfach ein cck feld dem node typ site (oder seite) hinzufügen dann lässt sich das ganze mit einem kleinen "no" im cck feld ausblenden.
ein paar kleine änderungen sind dafür in der page.tpl.php notwendig aber die tuhen nicht weh.
node title ausblenden
vorletzer eintrag title ausblenden durch cck
preprocess
am 07.10.2009 - 21:43 Uhr
Ja, habe den Cache geleert und trotzdem klappt es nicht =( Mir wird nach wie vor der Titel angezeigt.
Verwendest Du den Code von dieser Seite?
Damit funktioniert das nämlich definitiv.
Stefan
--
sei nett zu Deinem Themer
Danke schön
am 07.10.2009 - 21:51 Uhr
@karl1120
Wollte gerade eben schreiben, dass ich das "Problem" auf genau diesem Wege gelöst habe ^^ Allerdings mit einer einzelnen Checkbox
Aber trotzdem danke für den Tip =)
@Stefan
Wie gesagt, hatte das ganze schon mit einem CCK-Feld gelöst, so muss ich für andere Inhaltstypen später nicht auch immer eine neu page.tpl.php anlegen, sondern füge dort einfach das CCK-Feld ein. Aber dennoch Danke für deine Hilfe =)
note title ausblenden durch check box
am 07.10.2009 - 21:59 Uhr
cool dann schreib doch die änderungen mit der check box gleich dazu ;)
OK
am 07.10.2009 - 22:36 Uhr
Gut, habe das ganze so gemacht:
Für den Inhaltstyp ein CCK-Feld angelegt, habe das "Titelanzeige" genannt und der Feldname lautet "field_titel".
Als Feldtyp habe ich "Text" genommen und als Formularelement habe ich "Ankreuzfelder/Auswahlknöpfe" gewählt.
Jetzt sollte man die Anzahl der Werte auf 2 oder so setzen, egal was, Hauptsache nicht auf "1" (weil man bei "1" Auswahlknöpfe bekommt, ich wollte aber ein einzelnes Ankreuzfeld, also habe ich als Anzahl "unbegrenzt" genommen).
Und ganz unten bei zulässige Werte trägt man nur ein einzelnes "Nein" ein, mehr nicht.
Dann noch speichern das ganze und dann habe ich folgenden Code in die page.tpl.php eingefügt:
Aus
<?php if ($title): ?><h1 class="title"><?php print $title; ?></h1><?php endif; ?>
wurde:
<!-- Titel ausblenden lassen -->
<?php if ($node->field_titel[0]['value'] != "Nein"):?>
<?php if ($title): ?><h1 class="title"><?php print $title; ?></h1><?php endif; ?>
<?php endif; ?>
Ich habe das jetzt so geschrieben wie von karl1120 vorgeschlagen. Mein ursprünglicher Code, um das Problem zu lösen, sah so aus:
<?php if ($title): ?><h1 class="title"><?php if ($node->field_titel[0]['value'] != "Nein") print $title; ?></h1><?php endif; ?>
Funktioniert auch, erfüllt den gleichen Zweck, allerdings fand ich den von karl1120 etwas schöner ;)
Damit kann man jetzt bei jedem beliebigen Inhaltstyp das CCK-Feld "Titelanzeige" einbinden.
Wenn man "Nein" ankreuzt, wird kein Titel ausgegeben. Wenn man das "Nein" nicht ankreuzt oder der Inhaltstyp das CCK-Feld nicht beinhaltet, wird ein Titel ausgegeben.
Zu guter Letzt editiert man nochmal den Inhaltstyp, wählt den Reiter "Felder anzeigen" und aktiviert bei dem Feld "Titelanzeige" beide "Ausschließen"-Checkboxen, damit die Checkbox samt Inhalt nicht mit ausgegeben wird. - Fertig