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

Modul-Entwicklung

Fragen und Tipps zur Entwicklung eigener Drupal-Module.

Registrierungsmodul erstellen

Eingetragen von svi (4) am 07.03.2011 - 18:54 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo,

  • 5 Kommentare
  • Weiterlesen

Theme Block erzeugt falsche ID

Eingetragen von jan.s (44) am 07.03.2011 - 10:54 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo zusammen,

ich erstelle in einem eigenen Modul mit hook_blockein paar Blöcke. Wenn ich diese nun direkt in ein Template einfügen möchte, mache ich das so:

<?php
$block
= (object)module_invoke('sidebar', 'block', 'view', 0);
print
theme('block', $block);
?>

Jetzt ist es aber so, dass jeder Block die ID "block--" bekommt. Das liegt daran, dass $block->module und $block->delta in der Block-Variable im Template nicht vorhanden sind. Es gibt nur $block->content und $block->subject.

Weiß jemand, wieso nicht alle benötigten Eigenschaften erzeugt werden? Muss ich die manuell angeben in hook_block? Ich dachte eigentlich das macht ctools_block_content_type_render schon automatisch, denn die benötigten Informationen sind ja eigentlich schon vorhanden.

Viele Grüße
Jan

  • 3 Kommentare

[gelöst] Funktionsaufruf nach Submit

Eingetragen von crazybread (4) am 05.03.2011 - 00:00 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Guten Abend zusammen,
ich google mich schon eine Weile durchs Netz, habe mich auch schon hier im Forum umgesehen und finde keine Lösung, darum mache ich ein neues Thema auf, in der Hoffnung, mir werde geholfen!

Ich schreibe an einem Formular, welches (später) mehrere Eingabefelder für Geburtsjahr, Geschlecht, Hobbies usw haben wird. Nach Drücken des Submit-Buttons werden diese Daten mit allen registrierten Usern verglichen und passende ausgegeben, also sozusagen eine erweiterte Usersuche. HIer einmal der Code:

<?php
// $Id$

/**
* Baut das Menu neu auf (nur während der Entwicklungsphase)
*/
function usersuche_init(){
   
menu_rebuild();
}

/**
* Erstellt Menüeinträge
*/
function usersuche_menu() {

   
$items['usersuche'] = array(
   
'title' => 'UserSuche',
   
'page callback' => 'usersuche_formular',
   
'access arguments' => array('access user profiles'),
   
'type' => MENU_NORMAL_ITEM);
   
    return
$items;
}
// END usersuche_menu
?>


<?php
/**
* Gibt das Formular aus
*/
function usersuche_formular(){
   
$uebergabe = t('Suche nach Benutzern');
   
$uebergabe .= drupal_get_form('formular');

    return
$uebergabe;
}
// END usersuche_formular()
?>


<?php
/**
* Hier wird das Formular angelegt
*/
function formular()
{
   
$form = array();

   
$form['Vorname'] = array
    (
   
'#title' => t('Vorname'),
   
'#type' => 'textfield',
   
'#description' => t('Hier gib bitte den Vornamen ein')
    );
   
   
$form['submit'] = array
    (
   
'#type' => 'submit',
   
'#value' => t('Senden')
    );

    return
$form;
}
// END formular()
?>


<?php
/**
* Das kommt jetzt nach erfolgreicher Validierung
*/
function usersuche_submit($form, &$form_state)
{
    return
'usersuche_ergebnis';
}
// END usersuche_submit()
?>


<?php
/**
* Generiert die Ergebnis - Seite
* @param op the operation from the URL
* @param delta offset
* @returns block HTML
*/
function usersuche_ergebnis() {

   
//Inhalt der Seite, die nachher zurückgegeben wird
   
$page_content = '';
   
$query = "SELECT uid, name FROM {users}";


   
$queryResult =  db_query($query);
    while (
$links = db_fetch_object($queryResult)) {
       
$page_content .= l($links->name, 'user/'.$links->uid) . '<br />';
    }

    return
$page_content;
}
// END usersuche_ergebnis()
?>

Wie man sieht, sollte nach erfolgreichem Drücken des Submit-Buttons die Funktion "usersuche_ergebnis" aufgerufen werden... tuts aber nicht.
Was mache ich falsch? Ist meine Vorgehendweise eventuell nicht richtig und man macht so etwas auf eine andere Art?

Vielen Dank schonmal!

  • 8 Kommentare

D7 Formularfeld ändern - Wie gehts ?

Eingetragen von Micha1111 (290) am 04.03.2011 - 16:21 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Ich versuche mit hook_form_alter() Änderungen an einem ganz normalen Formularfeld durchzuführen.
Ich habe einen Inhaltstypen "Modultest" über das normale Interface erstellt und diesem Inhaltstypen das Textfeld "Modultextfeld" hinzugefügt. Der maschinenlesbare Name heisst also "field_modultextfeld".
Mit hook_form_alter() wollte ich nun diesem Feld per Modul eine Beschreibung hinzufügen und zwar mit foldendem Code:

<?php

function zumschluss_form_alter(&$form, &$form_state, $form_id) {

// drupal_set_message("Form ID is : " . $form_id);
//drupal_set_message('<pre>'. print_r($form, 1) .'</pre>');

switch ($form_id) {
   
case 'modultest_node_form':

drupal_set_message('<pre>'. print_r($form, 1) .'</pre>'); // damit das array zum Feld ausgegeben wird
$form['field_modultextfeld'] = array(
'#type' => 'textfield',
'#title' => t('Nur ein Testfeld'),
'#description' => t('Die Testbeschreibung'),
'#prefix' => '<div id="testfield">',
'#suffix' => '</div>',
);
break;
default:
break;

}
}

Dieser Code führt soweit ich das verstehe dazu, dass das automatisch generierte Formularfeld komplett ersetzt wird.
Wenn ich dann aber einen neuen Inhalt erstelle, gibt es die angehängten Fehlermeldungen. Der Node wird gespeichert, aber das Feld bleibt leer.

Wenn ich das richtig verstehe, könnte ich auch folgenden Code verwenden, um die Beschreibung des Formularfeldes gezielt anzusprechen:

$form['field_modultextfeld']['#description] = t('Die Testbeschreibung');

Das geht aber nicht, weil offenbar, die array-Struktur nicht stimmt.
Erst dieser Code funktioniert:

$form['field_modultextfeld']['und'][0]['value']['#description'] = t('Die Testbeschreibung');

Warum ist das so ?
Ist das irgendwo beschrieben ?
Oder, was mache ich falsch ?

Das Array (ist so lang, dass ich es auf drei Bilddateien verteilen musste) und die Fhelermeldung habe ich angehängt.

Schon mal Danke im voraus !

  • 5 Kommentare
  • 4 Anhänge

hook_form_alter ODER field API ?

Eingetragen von drupalcentersven (44) am 01.03.2011 - 17:08 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

In Drupal 7 gibt es ja jetzt die Field API, die sich um das Abspeichern, etc von custom fields kümmert. Bis jetzt habe ich mit der Form API Formfelder eingefügt und dann von Hand gespeichert.

Hat jemand ein gutes Beispiel, wie man ein custom field mit der Field API in ein vorhandenes Formular einbindet?

  • Anmelden oder Registrieren um Kommentare zu schreiben
  • Weiterlesen

[gelöst]Node via PHP erstellen Umlaut Problem

Eingetragen von Sawascwoolf (125) am 27.02.2011 - 23:05 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hi Leute,

Ich bin gerade dabei einige 100 Nodes via xml zu importieren. Das funktioniert auch recht gut (Das ganze mache ich mit rules)

Jetzt habe ich das Problem, das in den CCK-Felder und sowohl als auch in den Titeln Umlaute vorkommen können.

<?php
$node
= new stdClass();
           
$node->title =$value["HallenName"];
           
$node->type = 'hallen';
           
$node->field_sis_id[0]["value"]= $value["Halle"];
           
$node->field_strasse[0]["value"]=htmlentities($value["HallenStrasse"]);
           
$node->field_stadt[0]["value"]=htmlentities($value["HallenOrt"]);
           
$node->uid = 1;     
?>

wenn ich nun auch beim titel htmlentities verwende, werden beim titel die Umlaute nicht angezeigt sondern die html codes.
Wenn ich jedoch htmlentities nicht verwende werden die Titel abgeschnitten und nicht komplett gespeichert.

Was kann ich da noch machen?

MfG
Sawascwoolf

  • 2 Kommentare

[hook_form_alter()]CKK Felder als Radio Buttons in Webform anzeigen

Eingetragen von monsi (200) am 23.02.2011 - 23:23 Uhr in
  • Modul-Entwicklung

Hi Leute,
ich mach` mal ein neues Thema auf - auch wenn es quasi zusätzlich zu einem alten Thema von mir ist. Falls das ein Problem sein sollte - bitte einfach löschen :-)

===============

In dem alten Thema ging es darum per $_GET Variable bestimmte CCK Felder eines Nodes in eine Webform zu bringen.
Hier der Link: http://www.drupalcenter.de/node/33297

  • 12 Kommentare
  • Weiterlesen
  • 1 Anhang

PHP Snippets?

Eingetragen von greenpower (6) am 23.02.2011 - 21:25 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo, ich würde gerne ein Formular erstellen das Automatisch den Nodetitle der vorhergehenden Seite setzt. Im Modul Webform habe ich entsprechende "Tokens" gefunden um Daten aus der URL auszulesen. Nur schaffe ich es nicht so einen Link auf der Nodeseite zu setzen ( der den Titel der Node in die URL/Link setzt). Und da kamen mir PHP Snippets in den Sinn. Nur leider ist für mich Drupal zum größsten Teil noch Böhmische Dörfer und PHP rocketsciene. Kann mir da jemand unter die Arme greifen?
der link müsste in etwa so aussehen:

<a href="/node/10?title=<?php print $title; ?>">Fill out form</a>

über eine Antwort würde ich mich sehr freuen.

greenpower

  • 4 Kommentare

Deutsche Sprache durch Installationsprofil einzig im Installationsvorgang

Eingetragen von Peter Majmesku (656) am 21.02.2011 - 09:22 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hi,

ich habe die de.po Datei aus dem Drupalcenter-Installationsprofil nach profiles/installationsprofil/translations/ kopiert. Zudem habe ich in meine installationsprofil.profile Datei innerhalb der Funktion installationsprofil_profile_tasks();

<?php
   
global $install_locale;
    if (
$install_locale == 'de') {
     
variable_set('configurable_timezones', '1');
     
variable_set('date_default_timezone', '3600');
     
variable_set('date_first_day', '1');
     
variable_set('date_format_long', 'l, j. F Y - G:i');
     
variable_set('date_format_medium', 'j. F Y - G:i');
     
variable_set('date_format_short', 'd.m.Y - H:i');
    }
?>

eingefügt. Der Installationsvorgang ist dann in deutscher Sprache. Auch sind die Editiert-Tabs "Anzeigen" und "Bearbeiten" vorhanden. Der Rest ist aber Englisch. Was habe ich falsch gemacht?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Node Id bzw. nid herausfinden

Eingetragen von drupalcentersven (44) am 18.02.2011 - 23:34 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Ich stehe grade auf dem Schlauch.

Ich habe mit hook_form_FORM_ID_alter mehrere Felder hinzugefügt. Die Inhalte dieser Felder speichere ich in einer extra Tabelle. So weit so gut.

  • 4 Kommentare
  • Weiterlesen
  • « erste Seite
  • ‹ vorherige Seite
  • …
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • …
  • nächste Seite ›
  • letzte Seite »

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • 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
Weiter

Neue Kommentare

  • Arrrrg. Nix Tabelle :-D /*
    vor 3 Wochen 4 Tagen
  • Textboxen mit Tabelle
    vor 3 Wochen 5 Tagen
  • Du sollst ja auch keine
    vor 3 Wochen 5 Tagen
  • Theme
    vor 3 Wochen 5 Tagen
  • Welches Theme benutzt du
    vor 3 Wochen 5 Tagen
  • Mit Responsive Raster hatte
    vor 3 Wochen 6 Tagen
  • Hallo Alex,um das Häkchen
    vor 3 Wochen 6 Tagen
  • Modul view_unpublished
    vor 4 Wochen 14 Stunden
  • Modul "override node options"
    vor 4 Wochen 1 Tag
  • Im Grunde ist dass ein
    vor 4 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250270
Registrierte User: 20483

Neue User:

  • Aathivithyah
  • Aoirhic
  • Stevebok

» Alle User anzeigen

User nach Punkten sortiert:
wla9463
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 67 Gäste online.

Drupal Security

  • SAML SSO - Service Provider - Critical - Authentication bypass - SA-CONTRIB-2026-031
  • Automated Logout - Moderately critical - Cross-site request forgery - SA-CONTRIB-2026-030
  • Unpublished Node Permissions - Critical - Access bypass - SA-CONTRIB-2026-029
  • AI (Artificial Intelligence) - Moderately critical - Information Disclosure - SA-CONTRIB-2026-028
  • OpenID Connect / OAuth client - Less critical - Access bypass - SA-CONTRIB-2026-027
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