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

Modul-Entwicklung

Fragen und Tipps zur Entwicklung eigener Drupal-Module.

Datenabgleich

Eingetragen von benny1979 (119) am 11.07.2012 - 14:22 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x oder neuer

Hallo,

ich habe eine CSV Liste mit Daten, die ich regelmäßig mit Drupal abgleichen muß. Mein Modul liest die Datei per Drupal-Batch ein und führt ein node_save aus Performance-Gründen nur dann durch, wenn sich die Daten wirklich geändert haben.

  • 1 Kommentar
  • Weiterlesen

Horizont erweitern

Eingetragen von NaxChefkoch (1) am 08.07.2012 - 10:22 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Heyho Leute,

ich hab eigentlich eine recht allgemeine Frage. Ich beschäftige mich nun seit einigen Tagen mit der Entwicklung von Drupal Modulen, aber irgendwie hab ich es noch nicht gecheckt.

Zur Info: Vorher hab ich für Joomla! entwickelt und komme daher auf das hook System nur sehr langsam klar ^^

Also zum Beispiel.

  • 1 Kommentar
  • Weiterlesen

SQL - Abfrage Join mit multivalue field

Eingetragen von Sawascwoolf (125) am 06.07.2012 - 14:46 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Hallo,

Ich versuche gerade eine eigene recht komplexe SQL Abfrage auf die Beine zu stellen, leider scheitert es gerade an einer Kleinigkeit. Diese könnte ich natürlich auch in eine extra Abfrage stecken, aber ich denke es sollte auch mit nur einer Abfrage funktionieren.

Folgendes Szenario:
Beteiligte Node-types:

-Koordinaten
-Spioberichte
-Spieler

  • 1 Kommentar
  • Weiterlesen

Versionierung im Hintergrund immer aktivieren

Eingetragen von raffi (21) am 03.07.2012 - 10:56 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo zusammen,
ich möchte bei folgendem Szenario die Versionierung explizit aktivieren. Ein Nutzer kann durch ein selbsgeschriebenes Modul nur bestimmte Felder eines Inhaltstyps ändern. Eingeblendet sind auch nur diese Felder, alle anderen Labels u. ä. sind nicht sichtbar. Allerdings soll der Nachvollziehbarkeit halber die Versionierung explizit aktiviert sein. Normalerweise sollte das doch mit einer zusätzlichen Zeile im folgenden Quelltext möglich sein, oder sehe ich das falsch?

<?php
// $Id$
/*
* Created on 19.06.2012
*
* @file
* Geaendertes Auftragsformular
*
*/

# Implementierung von hook_form_alter
function new_auftrag_form_form_alter (&$form, $form_state, $form_id) {

    global
$user;
   
   
# Ueberpruefung ob Formular
    # und ob auch das richtige Formular
   
if (isset($form['type']) && ($form_id == 'auftrag_node_form')) {
   
       
# welche Rolle hat der Nutzer
       
$role = db_result(db_query("
                            select
                                r.name
                            from
                                {role} r
                                    inner join
                                {users_roles} ur
                            on
                                r.rid = ur.rid
                            where
                                ur.uid = %d
                            "
, $user->uid));
       
       
# blende nur für Consultants die Felder
        # für Verantwortliche und Vertreter ein
       
if ($role == "Consultant") {
       
           
# blende Titel mittels #access aus
            # damit Daten trotzdem
            # über Formular gesendet und verarbeitet
            # werden
           
$form['title']['#access'] = FALSE;
           
           
# blende alle body labels und fields aus
           
$form['body_field']['#access'] = FALSE;
        }
    }
}
?>

Viele Grüße

  • Anmelden oder Registrieren um Kommentare zu schreiben

Performance Rules <-> Nnodeapi

Eingetragen von Makku01 (58) am 03.07.2012 - 08:57 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Ich hab mal eine generelle Frage,

hat es performancetechnisch Nachteile, gewisse Aktionen über Rules statt hook_nodeapi zu triggern oder nicht? Es geht nur darum, ein CCK Feld mit dem aktuellen Timestamp zu füllen wenn ein anderer Inhaltstyp gespeichert wird und eine andere Kondition über php als TRUE ausgewertet wird.

Was meint Ihr?

Vielen Dank!

  • 1 Kommentar

Bitte Hinweise für Modulentwicklung (Technologien, Workflow, Stichworte)

Eingetragen von ak (1) am 27.06.2012 - 15:17 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Hallo allerseits!

Ich befinde mich gerade bei meinen Arbeitgeber in Probezeit und soll ein Modul für Drupal 7 erstellen. Leider habe ich bisher noch kein Modul in Drupal programmiert, dafür aber bereits einige Jahre Erfahrung in der PHP-Programmierung. Als Unterstützung arbeite ich gerade das Buch (englisch) "Drupal 7 Module Development" durch.
Ich würde gern von euch erfahren mit welchen Drupal-Technologien ihr an die folgende Aufgabenstellung herangeht. Ich bin für jede Hilfe dankbar - Stichworte, Schlagworte oder gern auch eine kleine Beschreibung, denn im Moment habe ich keine wirkliche Idee wie ich die Aufgabe in Drupal implementieren soll...

Aufgabe
Eine XML-Datei, welche täglich aktualisiert wird enthält X Objekte mit jeweils gleichen Eigenschaften. Diese Objekte heißen Verfahren und die Eigenschaften bestehen zu 90% aus Fließtexten.

<?php
$aVerfahren
= array(
 
'verfahren1' => array(
   
'text1' => 'Originaltext 1 von Verfahren 1',
   
'text2' => 'Originaltext 2 von Verfahren 1',
    ...
  ),
 
'verfahren2' => array(
   
'text1' => 'Originaltext 1 von Verfahren 2',
   
'text2' => 'Originaltext 2 von Verfahren 2',
    ...
  ),
  ...
)
?>

Der Drupalredakteur soll nun folgende Möglichkeiten haben:

  1. Entscheiden welche Verfahren im Frontend angezeigt werden sollen.
  2. Für jedes sichtbare Verfahren entscheiden welche Eigenschaften (text1, text2, ...) wie dargestellt werden. Hier gibt es drei Möglichkeiten:
    1. ausblenden
    2. Originaltext (aus aktueller XML-Datei) verwenden
    3. einen benutzerdefinierten Text verwenden

Würde ich diese Datenstruktur als Array abbilden käme beispielsweise folgendes heraus:

<?php
define
('VERFAHREN_VIEW_HIDE', 0);
define('VERFAHREN_VIEW_ORIGINAL', 1);
define('VERFAHREN_VIEW_CUSTOM', 2);

$aVerfahren = array(
 
'verfahren1' => array(
   
'text1' => array(
     
'view' => VERFAHREN_VIEW_HIDE,
     
'original' => 'Originaltext 1 von Verfahren 1',
     
'custom' => '',
    ),
   
'text2' => array(
     
'view' => VERFAHREN_VIEW_CUSTOM,
     
'original' => 'Originaltext 2 von Verfahren 1',
     
'custom' => 'Customtext 2 von Verfahren 1',
    ),
    ...
  ),
 
'verfahren2' => array(
   
'text1' => array(
     
'view' => VERFAHREN_VIEW_ORIGINAL,
     
'original' => 'Originaltext 1 von Verfahren 2',
     
'custom' => '',
    ),
   
'text2' => array(
     
'view' => VERFAHREN_VIEW_CUSTOM,
     
'original' => 'Originaltext 2 von Verfahren 2',
     
'custom' => 'Customtext 2 von Verfahren 2',
    ),
    ...
  ),
  ...
)
?>

Im Falle der täglichen Aktualisierung der XML-Datei sollen alle Originaltexte der Verfahrenseigenschaften aktualisiert werden, benutzerdefinierte Texte jedoch erhalten bleiben.

Also: Wie sähe hier euer Workflow aus?

Danke für eure Ideen und liebe Grüße

  • 1 Kommentar

Fehlermeldung beim Shop

Eingetragen von ibbis (9) am 25.06.2012 - 11:59 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x oder neuer

Hallo Leute,

ich habe folgendes Problem. Ich habe Drupal Commerce installiert. Alles funktioniert, jedoch wird mir nachdem ich die Bestellung abgeschicke, nach eingabe meiner Adressdaten folgende Fehlermeldung gezeigt:

Notice: Undefined index: pending in rules_action_mail() (Zeile 90 von /is/htdocs/../profiles/commerce_kickstart/modules/rules/modules/system.eval.inc).

  • 2 Kommentare
  • Weiterlesen

Mitglieder eigener OG's mittels Widget hinzufügen/ entfernen - Mentor gesucht

Eingetragen von Xeto (209) am 24.06.2012 - 14:45 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Ich bin nun schon einige Zeit auf der Suche nach einem Widget bzw. einem komfortableren Weg User einer oder mehreren eigenen OG's hinzuzufügen, um eine Art Google+ Kreise nachzubilden.

  • Anmelden oder Registrieren um Kommentare zu schreiben
  • Weiterlesen

Ausblenden Label im Bodybereich endet in falscher Funktionsweise

Eingetragen von raffi (21) am 22.06.2012 - 07:37 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo zusammen,
ich schreibe gerade ein kleines Modul, welches das Bearbeitungs- und Erstellungsformular für einen Inhaltstyp verändert. Ausgeblendet werden sollen Titel und Beschreibung, allerdings nur für eine bestimmte Benutzerguppe (Rolle). Die Inhalte der beiden ausgeblendeten Felder, sollen dabei aber mit gesendet werden. Die Rechte der betroffenen Rolle is insoweit eingeschränkt, dass diese keine Inhalte jeglicher Art erstellen darf.
Soweit klappt das gnaze Vorhaben auch, es scheitert an einem ich nenne es mal Luxusproblem. Das Label, oder vielmehr CSS-Div, in welchem die Infos zu den Eingabeformaten stehen sollen ebenfalls ausgeblendet werden. Sobald ich das aber mittels meiner Lösung mache, verhält sich Drupal sehr merkwürdig. Der Inhalt des Beschreibungsfeldes bleibt erhalten, wie gewünscht, wird allerdings in der Anzeige des Inhaltstyps nicht angezeigt. Noch komischer wird es dann auf Datenbankebene. Dort wird die letzte Version gelöscht aber die Felder body und teaser in node_revisions bleiben gefüllt.
Der Inhalt des Beschreibunsgfeldes erscheint erst wieder, sobald ich mit einem anderem Account, welcher die nötigen Rechte besitzt den Inhalt bearbeite.
Nun noch der Quelltext:

<?php

# Implementierung von hook_form_alter
function new_auftrag_form_form_alter (&$form, $form_state, $form_id) {

    global
$user;
   
    if (isset(
$form['type']) && ($form_id == 'auftrag_node_form')) {
   
       
# welche Rolle hat der Nutzer
       
$role = db_result(db_query("
                            select
                                r.name
                            from
                                {role} r
                                    inner join
                                {users_roles} ur
                            on
                                r.rid = ur.rid
                            where
                                ur.uid = %d
                            "
, $user->uid));
       
       
# blende für alle Consultants und nur für diese
        # Titel- und Beschreibungsfeld aus
       
if ($role == "Consultant") {
       
           
# blende Titel und Beschreibung aus
            # mittels #access damit Daten trotzdem
            # über Formular gesendet und verarbeitet
            # werden
           
$form['title']['#access'] = FALSE;
           
$form['body_field']['body']['#access'] = FALSE;
           
           
# blende alle body labels und fields aus
            # macht die #access-Variante eigentlich überflüssig
            # führt aber zu dem beschriebenem merkwürdigem
            # Verhalten
           
$form['body_field']['#type'] = 'hidden';
        }
    }
}

?>

Also die einfache Frage ist: Wie blende ich diese Labels zum Body-Bereich aus ohne dass dieses merkwürdige Verhalten eintritt.

Viele Grüße

  • Anmelden oder Registrieren um Kommentare zu schreiben

db_select mit union, join und NULL spalten

Eingetragen von cpritz (91) am 19.06.2012 - 14:54 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Hallo,

ich bin gerade dabei die Suche zu erweitern und möchte, dass die Tabelle {node} und {users} bei einer Anfrage gleichzeitig durchsucht werden. Dazu habe ich eine mysql-Abfrage erfolgreich getestet, bekomme sie aber nicht in Drupal umgesetzt. Das Problem besteht darin, dass ich für das UNION Spalten mit dem Wert NULL einfüge. Wie macht man das?
Hier meine Abfrage:

SELECT * FROM(

  • Anmelden oder Registrieren um Kommentare zu schreiben
  • Weiterlesen
  • « erste Seite
  • ‹ vorherige Seite
  • …
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • …
  • nächste Seite ›
  • letzte Seite »

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • lstin tombent homophonic wikke
  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • 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
Weiter

Neue Kommentare

  • Rollen
    vor 1 Tag 20 Stunden
  • Inzwischen sind wir bei
    vor 1 Woche 5 Tagen
  • Migrieren von D7 auf D8/ D10/ D11
    vor 1 Woche 6 Tagen
  • melde mich mal wieder, da ich
    vor 9 Wochen 3 Tagen
  • Hey danke
    vor 9 Wochen 4 Tagen
  • Update: jetzt gibt's ein
    vor 9 Wochen 4 Tagen
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 2 Tagen
  • Da scheint die Terminologie
    vor 10 Wochen 2 Tagen
  • Kannst doch auch alles direkt
    vor 10 Wochen 6 Tagen
  • In der entsprechenden View
    vor 10 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250238
Registrierte User: 20465

Neue User:

  • FoxPiola
  • ocvk2810
  • marouane.blel

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

Drupal Security

  • Login Disable - Less critical - Access bypass - SA-CONTRIB-2026-008
  • Central Authentication System (CAS) Server - Less critical - XML Element Injection - SA-CONTRIB-2026-007
  • Drupal Canvas - Moderately critical - Access bypass - SA-CONTRIB-2026-006
  • Microsoft Entra ID SSO Login - Critical - Access bypass - SA-CONTRIB-2026-005
  • AT Internet Piano Analytics - Moderately critical - Cross-site Scripting - SA-CONTRIB-2026-004
Weiter

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