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

[gelöst]Wo wird die Node gespeichert ?

Eingetragen von 1000 (764)
am 16.10.2010 - 14:01 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Drupal legt für einzelne Node Felder einzelne Tabellen an. Dies ist sicherlich aus Performace Gründen richtig. Ich möchte allerdings eine Volltextsuche benutzen. Dann müsste ich mit inner join mehrere Tabellen abfragen. Dies ist bei ca. 5000 Einträgen sicher nicht mehr schnell genug. Deshalb will ich diese bestimmte Node nocheinmal clonen in eine extra Tabelle. In dem Ordner node habe ich nichts finden können. Wo werden den die Node Inhalte gespeichert, so dass ich eine extra Tabelle anlegen kann??

‹ Wie bildet man die Seitenstruktur in Drupal ab? Wie erreiche ich, dass ein bestimmtes 2tes Feld erscheint wenn... ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Tausend, wo Drupal die

Eingetragen von sepp68 (444)
am 16.10.2010 - 14:24 Uhr

Hallo Tausend,

wo Drupal die Inhalte der CCK-Felder (ich denke du meinst die CCK-Felder) hängt auch von der Feldeinatellung ab.

Kann dieses Feld mehrfach vorkommen, ist die Struktur anders als wenn es nur einmal vorkommen kann.

Ohne Mehrfachmöglichkeit sind die Daten beim Content-Type: Tabelle content_type_deinTyp

Mit Mehrfachmöglichkeit sind die Daten beim Feld: Tabelle content_field_deinFeld

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn Du CCK Felder nicht

Eingetragen von Sense (1559)
am 16.10.2010 - 14:26 Uhr

Wenn Du CCK Felder nicht doppelt verwendest ist für jeden Inhaltstyp eine eigene Tabelle vorhanden, solltest Du aber ein Feld mehrfach verwenden werden diese in die entsprechenden Einzelfelder aufgeteilt und Du brauchst viele Joins um Dir deine Inhalte zusammenzusuchen,

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi Sense, ich war schneller

Eingetragen von sepp68 (444)
am 16.10.2010 - 14:36 Uhr

Hi Sense,

ich war schneller !!! LOL !

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja das ist wohl so. Ich

Eingetragen von 1000 (764)
am 16.10.2010 - 14:38 Uhr

Ja das ist wohl so. Ich meinte aber den Ort im Script. Wahrscheinlich dann in dem Ordner cck. Danke für den Hinweis !

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hehe, 2 Blöde aber der selbe

Eingetragen von Sense (1559)
am 16.10.2010 - 14:39 Uhr

Hehe, 2 Blöde aber der selbe Gedanke ... und die richtige Antwort ... so muss das sein

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hab mir das mal angeschaut.

Eingetragen von 1000 (764)
am 16.10.2010 - 16:21 Uhr

Und nicht zu vergessen der, der mit der richtigen Antwort nichts anfangen kann. Aber ich habe nun in einer anderen Datei webform.module die Inserts für den clone der Datenbank gemacht, um die fulltextsuche etwas zu beschleunigen. Das wird wohl funktionieren. Vielen Dank nocheinmal !

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das ist aber arg

Eingetragen von md (3717)
am 16.10.2010 - 16:28 Uhr

Das ist aber arg zurechtgebogen.

Erstens: nie im Code von Modulen etwas ändern.
Zweitens: was hat das Webforms Modul mit deinem Problem zu tun?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also ich protokolliere die

Eingetragen von 1000 (764)
am 16.10.2010 - 16:59 Uhr

Also ich protokolliere die Änderungen in den Modulen, so dass es bei Updates eigendlich keine Probleme gibt. Das Webform Modul legt beim erstellen von Nodes bestimmter Contetnttypes automatisch webforms an. Der Trigger ist also genau der gleiche, den ich benötige. Beim Erstellen einer neuen Node soll ein Clone der Felder gemacht werden, die bei der Suche durchsucht werden. Es geht nur um die Suche. Das Logo z.b. werde ich einfach per select aus der bestehenden Datenbank holen. Der Vorteil ist, dass es ein mehrfaches an Suchanfragen gibt im Verhältniss zu den inserts. Da ich dann bei dem Suchalgorithmus auf etwas umfangreichere joins verzichten kann wird die Suche schnell. Das wird auf jeden Fall so funktionieren. Ansonsten hätte ich 5 Tabellen per join vereinen müssen. Dann ist das ganze einfach zu langsam.

Shit, der Fall in dem die Node geupdateted wird habe ich leider nicht bedacht. Muss es wohl doch anders machen.

Das Problem ist ich möchte mehrere Felder durchsuchen (bestimmter contnent types) mal als volltext mal nicht. Das kann ich meines wissens nach so individuell nicht mit der bestehenden drupal Suche umsetzten.

Wird die node denn in der cck.module gespeichert und geupdated? Dann könnte ich den Code da reinschreiben. Ich steig da nur teilweise durch.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Seit wann legt das Modul

Eingetragen von md (3717)
am 16.10.2010 - 17:05 Uhr

Seit wann legt das Modul webform - http://drupal.org/project/webform - beim Erstellen von Nodes bestimmter Inhaltstypen, Formulare an?

Und wenn es dir nur um einen Trigger geht, den du benötigst, um bestimmte Dinge aufzurufen wie z.B. eigene Funktionen, dafür gibt es hooks.

Ich denke dein Problem löst du am Besten mit eigener Programmierung unter zuhilfenahme des hooks hook_nodeapi.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe es ein wenig

Eingetragen von 1000 (764)
am 16.10.2010 - 17:35 Uhr

Ich habe es ein wenig modifiziert. Bei mir werden automatisch webforms angelegt. Da habe ich nun den Code versucht hinzuzufügen. Leider funktioniert es nur im Falle der erstmaligen Speicherung. Die hook_nodeapi könnte da vielleicht helfen. Ich schau mir das mal an. Vielen Dank für den Hinweis.

Scheint wirklich eine Schlüsselfunktion von Drupal zu sein. Ich verstehe es noch nicht so ganz. Aber kann ich damit einen Abfrage machen wie:

if (hook_nodeapi == update)... Das würde das Programmieren echt beschleunigen und wirklich vereinfachen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nein! Ein Hook ist eine

Eingetragen von wla (9461)
am 16.10.2010 - 18:14 Uhr

Nein! Ein Hook ist eine PHP-Funktion, die einer definierten Namenkonvention folgen muß. Dabei wird der "hook" durch den Namen des Moduls ersetzt, das den Hook implementiert (Ein Hook entspricht einem Interface bei Java). Wenn Du ein Modul namens "mein_modul" schreibst, ergibt sich beim hook_nodeapi damit "mein_modul_nodeapi" als Funktion, die Du programmieren mußt.
Drupal prüft bei allen installierten Modulen, ob eine solche Funktion existiert und ruft sie beim Zusammenbau des Node-Objektes auf. In der API Dokumentation auf drupal.org kannst Du nachlesen, mit welchen Parametern Drupal diese Funktion aufruft, und was von dieser Funktion als Rückgabewert erwartet wird. Du kannst damit eigene Information in das Node-Objekt einbauen.
Für die intensive Einarbeitung in solche Sachverhalte empfehle ich das Buch "Pro Drupal Development".

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Werde mich damit mal etwas

Eingetragen von 1000 (764)
am 16.10.2010 - 18:54 Uhr

Werde mich damit mal etwas intensiver beschäftigen. Vielen Dnak für die Tipps !

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also, ich habe es geschaftt

Eingetragen von 1000 (764)
am 17.10.2010 - 14:25 Uhr

Also, ich habe es geschaftt den hook_nodeapi dazu verwenden, um beim Insert oder beim Update Daten in die Datenbank zu schreiben. Das funktioniert schoneinmal ganz gut bei

$node->nid
$node->created
$node->title

Nun möchte ich aber auch andere Felder einfügen. Das funktioniert leider nicht.Wenn ich z.b:

$firma=print $node->field_firmainstitution[0]['view'];

setzte um den Inhalt in die neue Datenbank einzufügen, dann wird dort lediglich eine 1 reingeschrieben. Ich bekomme die Werte für den Body und den anderen angelegten Feldern einfach nicht in die Datenbank Kopiert, da ich nicht weiss wie die Variablen zu beziffern sind.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ok, habe es nun geschafft.

Eingetragen von 1000 (764)
am 17.10.2010 - 14:43 Uhr

Ok, habe es nun geschafft. Habe die Variablen nochmal mit Hilfe des Moduls Content Template ausgelesen. Jetz funktioniert es. Dank nochmals !!!

  • Anmelden oder Registrieren um Kommentare zu schreiben

1000 schrieb $firma=print

Eingetragen von sepp68 (444)
am 17.10.2010 - 14:48 Uhr
1000 schrieb

$firma=print $node->field_firmainstitution[0]['view'];

kann nicht gehen da ist $firma der Rückgabewert der Funktion "print"

$firma = $node->field_firmainstitution[0]['view'];
//oder
$firma = $node->field_firmainstitution[0]['value'];

sollte gehen

  • Anmelden oder Registrieren um Kommentare zu schreiben

Alles ist soweit gelöst. Ich

Eingetragen von 1000 (764)
am 17.10.2010 - 17:25 Uhr

Die anderen Variablen konnte ich mittels:

$searchwords= $node->body;
$company= $node->field_a100[0]['value'];
$einsatzort= $node->field_einsatzwort[0]['value'];

speichern

  • Anmelden oder Registrieren um Kommentare zu schreiben

Im Location-Modul giubt den

Eingetragen von sepp68 (444)
am 17.10.2010 - 17:26 Uhr

Im Location-Modul giubt den Hook locationapi:

<?php

function location_locationapi(&$obj, $op, $a3 = NULL, $a4 = NULL, $a5 = NULL)
?>

damit solltest du wie mit Node-Api deine Sachen auslesen können

  • 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 3 Tagen 23 Stunden
  • Hey danke
    vor 4 Tagen 18 Stunden
  • Update: jetzt gibt's ein
    vor 5 Tagen 12 Stunden
  • Hallo, im Prinzip habe ich
    vor 1 Woche 2 Tagen
  • Da scheint die Terminologie
    vor 1 Woche 3 Tagen
  • Kannst doch auch alles direkt
    vor 2 Wochen 7 Stunden
  • In der entsprechenden View
    vor 2 Wochen 7 Stunden
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 7 Stunden
  • gelöst
    vor 4 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» 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 15 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