Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Taxonomies auswerten

Eingetragen von drupaler3000 (78)
am 22.07.2008 - 22:22 Uhr in
  • Allgemeines zu Drupal
  • Drupal 5.x

Ich möchte ein Taxonomy auswerten. Dabei soll der eingegebene Name einer bestimmten Kategorie mit bereits vorhandenen Taxonomies abgeglichen werden.

Wenn die Taxonomy bereits vorhanden ist, sollen bestimmte andere Felder automatisch mit den gleichen Werten gefüllt werden.

Beispiel zu Veranschaulichung:

Es gibt bereits 2 Nodes.
Die User müssen 2 Kategorien ausfüllen, die restlichen 6 sind freiwillig.

Bei einem Node wurden alle Taxonomys zugeordnet.

Nun erstellt ein zweiter User erneut ein Node, und in einer Kategorie wurde dasselbe eingegeben wie im oberen Node.
(Diese Kategorie sollte festgelegt sein, also nur wenn diese Kategorie übereinstimmt, sollen die restlichen Felder ausgefüllt werden.)
Dann sollen alle restlichen Felder mit demselben Inhalt gefüllt werden, als sie im ersten Node bereits eingegeben wurden.

Ich hoffe das ist vielleicht mit irgendeinem Modul möglich. Ich habe auf Anhieb kein passendes Modul gefunden, und wollte nicht jedes herunterladen und testen. Man weiß oft nie ob sich wirklich die passende Funktion ermöglichen lässt, da die Beschreibungen teilweise sehr ungenau sind.

Wenn mir also jemand n Tipp geben könnte, welches Modul passend wäre, oder jemand den "Code" kennt, mit dem man das bewerkstelligen kann, wäre ich echt dankbar!

‹ Beitrag ohne Anrisstext erstellen Klasse $links bearbeiten, verschiedene Bildansichten entfernen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hat denn keiner ne Ahnung,

Eingetragen von drupaler3000 (78)
am 23.07.2008 - 23:11 Uhr

Hat denn keiner ne Ahnung, wie man das machen könnte? Dann muss ich mich wohl durch die tausenden Module durcharbeiten....(related...blah blah, taxonomys usw.)

  • Anmelden oder Registrieren um Kommentare zu schreiben

suche in views und taxonomy

Eingetragen von hermx (256)
am 25.07.2008 - 23:09 Uhr

Hi,
du kannst auf drupal.org nach views und taxonomy suchen. Darüber gibt es bereits einige threads, z.B.:

http://groups.drupal.org/node/8500
http://drupal.org/node/54455

Damit kannst du einigermassen lernen, wie man auf die Taxonomie zugreift.

gruß, hermx

  • Anmelden oder Registrieren um Kommentare zu schreiben

nee, ich will keine views

Eingetragen von drupaler3000 (78)
am 26.07.2008 - 09:32 Uhr

nee, ich will keine views erstellen. Sondern lieber eine Funktion im Template definieren.

Ich kenne mich leider mit der Programmierung vvon SQl usw. nicht so gut aus, aber ich weiß genau was die Funktion ungefähr machen sollte:

1. Alle vorhandenen Terms des Nodes "überprüfen" (taxonomy_get_vocabularies)
2. Datenbankabfrage machen ( db_query(db_rewrite_sql(");)
3. wenn ein Begriff eines festgelegten Vokabulars schon existiert
4. dann soll der entsprechende Wert automatisch in die entsprechende Tabelle des Nodes eingetragen werden

Das dürfte für jemanden der Ahnung von php und Drupal hat doch nicht so schwer sein, oder?

Wichtig ist halt, dass immer nur ein Vokabular überprüft wird, und alle Begriffe der anderen Vokabulare automatisch ergänzt werden.

Ein anderer Weg wäre auch noch dass die obige Funktion während dem Bearbeiten oder dem Erstellen des Nodes(also im Formular) ausgeführt wird. Ein Javascript könnte automatisch die anderen Felder mit den Werten füllen lassen. Man würde halt dann nicht direkt in die Datenbank etwas per Script schreiben, es wäre eher etwas wie Autocomplete der Felder, sodass das Gleiche dabei rauskommt.

Wahrscheinlich ist einiges davon nicht zumutbar, da es dem umfang eines neuen moduls entsprechen würde. Aber das Modul wäre gerade für Listen, Archive oder große Datenbanken bestimmt nützlich.

Vielleicht gibt es ja jemanden der sich mit Modul Entwicklung auskennt, und dem die Idee eines solchen Moduls gefällt...

Folgende Funktionen scheinen für mich "in die richtige Richtung" zu gehen:

function your_function($nid) {
     $vocabularies = taxonomy_get_vocabularies();
     foreach($vocabularies as $vocabulary) {
       if ($vocabularies) {
         $terms = taxonomy_node_get_terms_by_vocabulary($nid, $vocabulary->vid);
         if ($terms) {
           $links = array();
           $output .= ' ' . $term->name . '' ;
   $output .= ' taxonomy-tid-' . $term->tid . ' ';
           foreach ($terms as $term) {
             $links[] = l($term->name, taxonomy_term_path($term), array('rel' => 'tag', 'title' => strip_tags($term->description)));
           }
         }
       }
     }
     return $output;
}

Bei dieser Funktion werden die Taxonomys einzeln ausgegeben. Nun müsste man den Code nur noch so verändern, dass nichts ausgegeben wird, sondern die Werte in der Datenbank verändert werden.
Und halt noch dass man die Datenbank nach demselben Begriff innerhalb eines Vokabulars durchsucht, und wenn ein gleicher Begriff gefunden wird, werden die Werte in der Datenbank verändert.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also um beim abspeichern die

Eingetragen von derhasi (221)
am 26.07.2008 - 09:38 Uhr

Also um beim abspeichern die Werte zu kontrollieren und ggf. zusätzliche Werte zu speichern kannst du hook_nodeapi() nutzen. => http://api.drupal.org (z.B. Module system (Drupal hooks))

Für on the Fly bearbeitungen kannst Du Dir entweder das von Drupal angebotene Autocomplete-Feld zu nutze machen, oder mit dem Zusatzmodul ActiveSelect experimentieren.
Für ersteres findest Du auch in der API unter Forms API Reference die erforderlichen Werte zum einstellen.
Für zweiteres musst Du in der ActiveSelect-ReadMe nachsehen, dort ist auch soweit ich weiß ein Beispiel angegeben.

Vorm anzeigen eines Formular kannst Du dies zudem grundsätzlich per hook_form_alter() ändern.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das ist ja nett gemeint,

Eingetragen von drupaler3000 (78)
am 28.07.2008 - 08:39 Uhr

Das ist ja nett gemeint, aber ich blicke in der Api ehrlich gesagt nicht durch:

<?php
function hook_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
  switch (
$op) {
    case
'submit':
      if (
$node->nid && $node->moderate) {
       
// Reset votes when node is updated:
       
$node->score = 0;
       
$node->users = '';
       
$node->votes = 0;
      }
      break;
    case
'insert':
    case
'update':
      if (
$node->moderate && user_access('access submission queue')) {
       
drupal_set_message(t('The post is queued for approval'));
      }
      elseif (
$node->moderate) {
       
drupal_set_message(t('The post is queued for approval. The editors will decide whether it should be published.'));
      }
      break;
    case
'view':
     
$node->content['my_additional_field'] = array(
       
'#value' => theme('mymodule_my_additional_field', $additional_field),
       
'#weight' => 10,
      );
      break;
  }
}
?>

Was genau muss ich jetzt mit diesem Code machen? Wenn ich ihn in die Template Datei mache, kommt die Fehlermeldung dass die Funktion nicht neu definiert werden kann(redeclare)...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ein hook ist eine Funktion

Eingetragen von derhasi (221)
am 28.07.2008 - 17:53 Uhr

Ein hook ist eine Funktion die durch jedes Modul ergänz werden kann. Dies geschieht indem man "hook" durch den Modulnamen ersetzt und dies dann in die .module-Datei des eigenen Moduls schreibt. Deine Function müsste somit z.B. mymodule_nodeapi() heißen.

Ein Beispiel genau hierzu ist in der API unter "How to extend existing content types" zu finden.

  • 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 6 Tagen
  • Hey danke
    vor 2 Wochen 5 Stunden
  • Update: jetzt gibt's ein
    vor 2 Wochen 23 Stunden
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 5 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 6 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 5 Stunden

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 19 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