Prepopulate und node taxonomy dropdown box für den Link "Neuen Beitrag erstellen"
Warum Prepopulate:
Bei der Erstellung von neuem Content soll für den Benutzer der Beitrag bereits in die Taxonomie eingeordnet sein.
Prerequisites:
Drupal 6.20
Module: taxonomy(core), taxonomy_menu, views (hier nicht erforderlich)
In meinem Fall existiert ein eigener Content Type document
Ich habe hier einige Tage im Kreis recherchiert weil die meisten der Einträge einfach die falschen Referenzen angegeben haben = Hier dürfte sich im code des Taxonomy core Modules einiges geändert haben.
Wie funktioniert es?
Mit Prepopulate kann man über den Querystring ein Feld des Contents befüllen.
Beispiel: node/add/document?edit[taxonomy][tags][6]=Arbeitsrecht FALSCHES BEISPIEL
(so steht es zumindest in praktisch allen von mir in den letzten Tagen recherchierten Beiträgen.
Die Lösung:
brachte dann der Artikel Prepopulating CCK Autocomplete Nodereference field
Ich habe mir den HTML-Code des neuen Content genauer angesehen:
<div class="form-item form-item-markup form-item-required" id="edit-taxonomy-6-wrapper">
<label for="edit-taxonomy-6">Documents: <span class="form-required" title="This field is required.">*</span></label>
<select name="taxonomy[6]" class="form-select required" id="edit-taxonomy-6"><option value="">- Please choose -</option><option value="2778">Dokumente</option><option value="2774">-ARBEIT</option><option value="2780">--Arbeitnehmerschutzrecht</option><option value="2784">--Arbeitsmarkt</option><option value="2775">--Arbeitsrecht</option><option value="2779">--Arbeitsvertragsrecht</option><option value="2781">--Arbeitsverfassungsrecht</option><option value="2782">--Betriebsverfassungsrecht</option><option value="2783">--Kollektivverträge</option><option value="2776">-FAMILIE</option><option value="2777">--Familienberatungsförderung</option></select>
</div>
Das heisst dass das Feld eigentlich taxonomy[6] heisst Oder?
Wobei die 6 bereits beim neuen Content die Referenz auf das eingestellte Vocabular der Taxonomie repräsentiert! Interessant wird es wohl wenn 2 Vocabulare den selben content-type verwenden - Also dieselbe Prozedur dann nachvollziehen.!
Und wo praktisch alle recherchierten Beiträge den Namen des tags angeben verlangt die taxonomy dropdown offensichtlich die tid (Taxonomy ID) als Übergabewert
somit muss der Querystring wie folgt lauten: node/add/document?edit[taxonomy][6]=2775
Der Aufruf mit php:
<?php
// In diesem Fall liefert die View das Argument $view wurde vorher abgefragt und arg[0] ist die taxonomy ID
// warum das? wir sollten sicherheitshalber die vocabulary ID zu dem Term rausfinden
// Achtung! wenn der Term mehrfach vergeben ist?.....
$taxonomy_term = taxonomy_get_term($view->args[0]);
// so die Syntax des Links DAVOR gehören aber die Benutzerrechte abgefragt und der Link nur angezeigt wenn
// der benutzer das Dokument auch erstellen darf
print '<a href="/node/add/document?edit[taxonomy]['. $taxonomy_term->vid .']='. $taxonomy_term->tid .'" >Neues Dokument erstellen</a>';
?>
siehe auch Taxonomie Hierarchie
- Anmelden oder Registrieren um Kommentare zu schreiben
Neue Kommentare
vor 1 Tag 5 Stunden
vor 1 Tag 8 Stunden
vor 1 Tag 8 Stunden
vor 1 Tag 9 Stunden
vor 1 Tag 9 Stunden
vor 1 Tag 9 Stunden
vor 2 Tagen 10 Minuten
vor 3 Tagen 8 Stunden
vor 4 Tagen 8 Stunden
vor 4 Tagen 15 Stunden