Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

Drupal Entwicklerhandbuch Kapitel 2

Eingetragen von Banzai (3)
am 03.07.2009 - 22:21 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo Drupal-Gemeinde,

ich habe das Drupal Entwicklerhandbuch von Addison-Wesely und hänge schon bei Kapitel 2...

In dem Beispiel wird ein kleines Modul entwickelt, bei dem man für konfigurierbare Inhaltstypen persönliche Kommentare abgeben kann.
Genau da habe ich ein Problem damit:

Im Admin-Formular wird aufgrund aller gefundenen Typen (node_get_types) eine Optionsliste erstellt.
Das Speichern funktioniert auch, zumindest wird in der Datenbank in der Tabelle variables ein Eintrag 'annotate_node_types' angelegt.
Allerdings mit einem sehr seltsamen Effekt, der sich auf die gesamte Funkionalität auswirkt. Wenn keine Option ausgewählt wurde, werden trotzdem alle verfügbaren Optionen gespeichert. Wurde eine oder mehrere ausgewählt, werden diese zweimal hintereinander abgelegt:

Tabelleneintrag: a:3:{s:5:"story";s:5:"story";s:8:"criteria";i:0;s:4:"page";i:0;}
Im obigen Fall wurde das Formular mit der ausgewählten Option "Artikel" gespeichert.

Wird nun der Hook 'nodeapi' für das Modul aufgerufen, wird über variable_get der Eintrag 'annotate_node_types' gelesen und mit in_array geprüft, ob die aufgerufene Node dem Inhaltstyp entspricht. Logischerweise werden alle verfügbaren Typen gefunden und damit ist keine Selektion möglich.

Wer sich den Beispielcode mal ansehen will (den habe ich so von der Webseite des Verlags), kann sich ja den Beispielcode ziehen und unter ...\Drupal_Beispielcodes\2798_Drupal_Entwicklerhandbuch_Beispielcodes\Beispielcodes\kapitel02\annotate das Modul mal ausprobieren.

Also, egal was ist, aber bei mir funktioniert es nicht. Vllt. liegt es auch an einer PHP- oder MySQL-Einstellung, keine Ahnung.

Hoffe jemand kennt diesen Effekt und möglicherweise eine Lösung, weil ich Drupal bisher Super finde und ich habe mir schon ein paar CMS angeschaut.

Vielen Dank im voraus.

Banzai

‹ [gelöst] Wert aus einer Funktion auslesen [gelöst] Eigener Userpicture Upload ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Der erste Eintrag ist der Schüssel, der zweite ist der Wert

Eingetragen von traxer (1009)
am 04.07.2009 - 11:47 Uhr
Banzai schrieb

Tabelleneintrag: a:3:{s:5:"story";s:5:"story";s:8:"criteria";i:0;s:4:"page";i:0;}

Wenn du folgendes eingibst:

<?php
  $var
= 'a:3:{s:5:"story";s:5:"story";s:8:"criteria";i:0;s:4:"page";i:0;}';
 
$array = unserialize($var);
 
var_export($array);
?>

dann bekommst du folgendes Ergebnis:

<?php

array(
 
'story' => 'story',
 
'criteria' => 0,
 
'page' => 0,
)

?>

--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

thx traxer für die

Eingetragen von Banzai (3)
am 04.07.2009 - 22:03 Uhr

thx traxer für die Antwort.

Dies erklärt mir, wie diese Art der Array-Speicherung aufgebaut ist (Ha, wieder was gelernt!).

Eine Lösung scheint der dritte Parameter von in_array zu sein, zumindest funktioniert das Modul jetzt erwartungsgemäß:

<?php


// Vorher (Originalcode):
// Abbrechen, wenn dieser Node nicht zu den kommentierbaren
// Typen gehört.
if ( !in_array( $node->type, $types_to_annotate) ) {
    break;

// Korrigiert:
// Abbrechen, wenn dieser Node nicht zu den kommentierbaren
// Typen gehört.
if ( !in_array( $node->type, $types_to_annotate, true) ) {
    break;
}
?>

Vielen Dank für den Hinweis.

Banzai

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