auto_nodetitle und Taxonomy: mehrere Kategorien als Nodetitle nutzen?
am 07.08.2007 - 20:07 Uhr in
Hiho!
Also ich möchte den Inhalt eines bestimmten Inhaltstyp gerne mit einem Autotitle versehen.
Dem Typ liegen 3 Kategorien zugrunde, denen sie einsortiert werden. Ich möchte nun diese 3 Kategorien in meinem Titel wieder benutzen. Wie stelle ich das an?
Token stellt ja [term] zur Verfügung, allerdings nur das jeweils oberste in der Liste. Da ich 3 habe fehlen mir nun die nächsten beiden. Meine ersten Versuche das mit php auszuwurschteln scheiterten an doch recht vielen nötigen SQL-Abfragen (inkl Joins). Gibt es da nichts einfacheres?
Mal ein Beispiel:
Ein Rezept wird zugeordnet:
* Speisenart (Vorspeiße, Hauptspeiße, Nachspeiße, Getränk)
* Zubereitungszeit (schnell, mittel, lang)
* Vegetarisch (fleischhaltig, vegetarisch, veganisch)
Meine Titel sollen jetzt eigentlich in etwa so aussehen:
Vorspeiße - schnell - vegetarisch - 18
wobei 18 als "laufende Nummer" genutzt werden sollte. Als erste Näherung würde ich mich mit der node-ID zufrieden geben, da sie ja ein eindeutiger Schlüssel ist (dann zwar nicht zwingend fortlaufend, aber immerhin eindeutig).
Wie stelle ich das nun am Besten an?
Danke für eure Hinweise/Hilfen.
Aktive Module:
* CCK Taxonomy 5.x-1.1
* Token 5.x-1.7
* Automatic Nodetitles 5.x-1.0
* weitere, die nicht relevant sind
- Anmelden oder Registrieren um Kommentare zu schreiben
Versuch mal folgendes
am 07.08.2007 - 22:18 Uhr
Wenn ich dich richtig verstehe, meinst du ja nur die Ausgabe des Titels. Ich meine damit, dass die Inhalte erfasst und einer oder mehreren Kategorien zugeordnet worden sind. Dann sind die von dir genannten Module nicht relevant.
Wenn du nur die Ausgabe meinst mach mal folgendes. In der node.tpl.php deines Themes ersetzt du print $title durch
<?php
print $terms;
?>
Dann hast du einen Titel mit Links zu den zugeordneten Kategorien.
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
äh nein, sorry, das geht in
am 08.08.2007 - 18:11 Uhr
äh nein, sorry, das geht in die falsche Richtung.
Ich will den Titel meines Inhalts entsprechend eintragen lassen. Angezeigt wird dieser Titel dann in verschiedenen Seitenansichten, Viewsausgaben und Blöcken. Somit ist die Anpassung der Themes viel zu viel Aufwand.
Stattdessen nehme ich auto_nodetitle und möchte damit den Namen der Seite gleich entsprechend eingeben (lassen).
Nur es scheint nicht zu gehen (die sql-joins hab ich leider noch nicht zum Laufen bekommen, daher stehe ich leider noch ohne Lösung da).
Meine Lösung
am 09.08.2007 - 20:11 Uhr
Nach etwas ausprobrieren habe ich nun doch mein SQL-Query hinbekommen. Für alle Interessierten:
<?php
$res = db_query("SELECT t.name FROM {term_data} t INNER JOIN {term_node} node ON t.tid=node.tid AND t.vid=4 WHERE node.nid=".arg(1)." LIMIT 1");
while ($tag = db_fetch_object($res))
{
print $tag->name.'-';
}
$res = db_query("SELECT t.name, t.description FROM {term_data} t INNER JOIN {term_node} node ON t.tid=node.tid AND t.vid=3 WHERE node.nid=".arg(1)." LIMIT 1");
while ($tag = db_fetch_object($res))
{
if ($tag->description=="")
print $tag->name;
else
print $tag->description;
}
?>-[nid]
mit folgenden Vorgaben:
vid=3 (bzw 2) sind die entsprechenden Kategorien
Für vid=3 habe ich eine Kurzform der Taxonomy gespeichert, wenn der Name sehr lang war.
Das Limit 1 ist drin, damit ich nur den ersten Taxonomiebegriff bekomme da sie per Multiauswahl ggf doch sehr lang werden können.
Das Ganze steht unter "Automatic title generation", welches das Modul automatic_nodetitle benötigt.
währe auch zu schön gewesen...
am 09.08.2007 - 20:36 Uhr
Naja, klappt soweit gut. Aber: Wenn man neue Beiträge verfasst stehen diese Dinge leider noch nicht in der Datenbank und somit gibt es ziemlich hässliche Fehlermeldungen. Hat jemand eine Idee?
Auto NodeTitle und PHP
am 09.08.2007 - 21:50 Uhr
Das Modul Automatic Nodetitles hat doch auch eine PHP-Funktionalität. D.h. du kannst PHP-Code schreiben, um dir einen Titel erzeugen zu lassen.
Versuch es doch mal damit.
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services