Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

Den Titel von Nodes im Theme verändern - theme_field__title?

Eingetragen von drcho (72)
am 03.02.2011 - 17:20 Uhr in
  • Themes & Theming
  • Drupal 7.x

Ich nutze Drupal 7 und ich weiß inzwischen, dass ich die Ausgabe von Feldern in meinem themes/meintheme/template.php ändern kann, indem ich eine Funktion meintheme_field__fild_feldname($varialbes) erstelle. Das geht auch mit der Beschreibung, dann mit meintheme_field__body().

Soweit so gut. Aber wie komme ich an das Titel-Feld ran? Ich kann weder die Ausgabereihenfolge meines Titels bestimmen noch die Formatierung. Ich würde nämlich gerne das field_termin über den Titel schreiben, was ja auch keine so unsinnige Sache ist.

Hat irgendjemand eine Idee? Oder in welche Richtung ich denken muss?

‹ taxonomy Link erstellen aus tid 960 Theme - In der Schleife "alpha" und "omega" richtig vergeben ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

drupal_set_title($title =

Eingetragen von Ionit (1802)
am 03.02.2011 - 17:26 Uhr

drupal_set_title($title = NULL, $output = CHECK_PLAIN)
http://api.drupal.org/api/drupal/includes--bootstrap.inc/function/drupal...

Du könntest Dir z.B., wie ich das mache, verschiedene CCK-Felder laden und diese Variablen dann mit Füllwörtern als Titel ausgeben lassen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für die Funktion, aber

Eingetragen von drcho (72)
am 03.02.2011 - 17:58 Uhr

Danke für die Funktion, aber irgendwie verstehe ich das nicht. Meinst Du, dass ich so den Titel wegmachen kann? vielleicht kannst Du was detaillierter erklären, ich bin noch nicht so bewandert in Drupal...

Ich würde eigentlich gerne in einer Theme-Funktion meintheme_field__uebertitel() auf den Titel zurückgreifen und diesen dann mit ausgeben. Dafür möchte ich irgendwo (ich dachte in einer Funktion theme_field__title()) nichts ausgeben und den Titel irgendwie speichern, z.B. in einer Variable $titel, auf die ich dann in dieser Funktion zugriff erhalte. Oder halt irgendwie anders. Ist sowas möglich?

  • Anmelden oder Registrieren um Kommentare zu schreiben

drual_get_title(),

Eingetragen von drcho (72)
am 03.02.2011 - 18:15 Uhr

drual_get_title(), drual_set_title() greift übrigens auf den Titel der ganzen Seite zu, ist also nicht brauchbar bei Nodes in der Teaser-Ansicht. Und genau hier will ich mich ja einklinken...

Problem ist irgendwie, dass ich in meiner theme_field Funktion nicht auf den $node zurückgreifen kann, und im node.tpl.php nicht auf das field :-(

Vielleicht noch irgendwelche Ideen?

Gruß, Michael

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich nutze Drupal 7 nicht

Eingetragen von Ionit (1802)
am 03.02.2011 - 18:20 Uhr

Ich nutze Drupal 7 nicht daher kann ich Dir die genaue Variable nicht nennen.

Installiere Dir bitte das Modul "Devel"!

Dann öffne für Deinen Inhaltstypen das Template und trage

<?php
dsm
(get_defined_vars());// devel installieren
?>

ein.

Dann werden Dir, nach dem Reload, alle verfügbaren Variablen ausgegeben - auch der Title. Mit dieser Variable kannst Du dann arbeiten, mit anderen Verknüpfen (was auch immer) und anschließend gibts Du dann über drupal_set_title den neuen Titel aus.

Edit:
Achso - Du willst nicht den Node/Seiten-Titel?
Wie gesagt ich arbeite nicht Drupal 7 - deswegen kann ich Dir da nicht weiter helfen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke! die Funktion kannte

Eingetragen von drcho (72)
am 03.02.2011 - 18:43 Uhr

Danke! die Funktion kannte ich noch nicht.
Ich komme so schon mal aus dem template an den node-title. Allerdings werden die Felder im Template per

<?php
print($content);
?>

eingebunden, so dass ich die Titel entweder darüber oder darunter setzen kann. Und er erscheint zudem auch noch im Content selbst. Also alles noch nicht so optimal... Eine schlechte Lösung wäre nun im template.php

<?php
function meintheme_field__field_obertitel($variables)
{
return
"[Platzhalter]" . theme_field($variables);
}
?>

und im node.tpl.php:

<?php
$content
= str_replace("[Platzhalter]", $variables['title'], $content);
print
$content;
?>

Aber halt nicht optimal. Das muss doch irgendwie möglich sein, dass ich im template.php die Reihenfolge der Ausgabe der Felder ändern kann...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du kannst Dir doch für Deinen

Eingetragen von Ionit (1802)
am 03.02.2011 - 18:56 Uhr

Du kannst Dir doch für Deinen Inhaltstypen ein eigenes Template anlegen (Drupal 6 = node-meininhaltstyp.tpl.php)

Dort kannst Du dann die Content-Varibale rauslöschen und jedes einzelen Feld so ausgeben wie Du willst. Auch die Sortierung kannst Du so vornehmen wie Du möchtest + PHP-Anweisungen + CSS etc.

Dafür nutze aber bitte die Suchfunktion - das wurde schon zigmal durchgekaut.

Gruß Matthias

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sorry, ich hab hier einige

Eingetragen von drcho (72)
am 03.02.2011 - 19:05 Uhr

Sorry, ich hab hier einige Dinge vermischt:

  1. Kann man in der Anzeige von Inhaltstypen auch die Position des Titels ändern? -> scheinbar nicht
  2. Kann man in einer Funktion theme_field auf den Inhalt eines anderen Fields zugreifen? -> leider auch nicht. Hab ich aber erst jetzt festgestellt durch die Debug-Funktion
  3. Kann man im Template die Reihenfolge der Felder ändern? -> ja, das ist dann meine alternative Lösung.

Insofern sorry für den chaotischen Post. Aber: die Fragen 1 und 2 wurden noch nicht zigmal durchgekaut, zumindest hatte ich darauf bisher noch nichts gefunden.

Schönen Abend!
Michael

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 5 Tagen
  • Hey danke
    vor 1 Woche 6 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 5 Stunden
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 4 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 4 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 2 Tagen
  • In der entsprechenden View
    vor 3 Wochen 2 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 2 Tagen
  • gelöst
    vor 5 Wochen 5 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 12 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association