Modul-Entwicklung
Wie weit ist der Hauptwort Modulentwickler?
Eingetragen von Cornelia1000 (9) am 01.03.2012 - 21:29 Uhr inIch war mal vor langer Zeit bei einer Drupal Veranstaltung in Wien (Universität)!
Dort hat ein älterer Mann ca. 45 bis 55 Jahre gesagt, er würde ein Modul entwickeln wo alle installierten Drupalversion (Hauptwörter) z. B. auf der rechten Seite angezeigt werden kann.
Er hat es so ungefähr erklärt!
drupal_mail sendet Mails doppelt
Eingetragen von digganet (33) am 01.03.2012 - 15:59 Uhr inHallo,
ich hab grad so mein Leiden mit den Funktionen drupal_mail und drupal_mail_system::mail. Jeder Klick auf´s Formular-Submit erzeugt 2 Mails!
Ich habe in meinem Modul ein Formular erstellt. Auf Submit (via AJAX / $form['submit']['#ajax']) wird dieses abgeschickt und validiert. Funktioniert.
Der Vollständigkeit halber hier beispielhaft meine Validierfunktion:
<?php
function mymodule_forms_kontakt_validate($form, &$form_state) {
if(!form_get_errors()) {
if(irgendeineprüfung schlägt fehl) { form_set_error('element', t('Fehlertext')); }
}
}
?>Bei erfolgreicher Validierung wird gesendet. Hier die Funktion (gekürzt):
<?php
function mymodule_forms_kontakt_submit($form, &$form_state) {
$element = $form['box'];
if(!form_get_errors()) {
$module = 'mymodule.kontakt';
$key = 'mailfrom-'.date('c');
$language = language_default();
$params = array();
$from = $form_state['values']['name'].' <'.$form_state['values']['email'].'>';
$to = 'Empfänger <mail@empfaenger.de>';
$message = drupal_mail($module, $key, $to, $language, $params, $from, false);
$message['subject'] = $form_state['values']['betreff'];
$message['body'] = array();
$message['body'][] = $form_state['values']['text'];
$system = drupal_mail_system($module, $key);
$message = $system->format($message);
$message['result'] = $system->mail($message);
if($message['result']) {
$res = 'Anfrage erfolgreich erstellt.';
}
else {
$res = 'Beim Erstellen Ihrer Anfrage ist ein Fehler aufgetreten.';
}
$element['#markup'] = $res;
}
return $element;
}
?>Gemäß Drupal-Referenz sollte die Funktion drupal_mail mit dem letzten Parameter $send=false keine Mail senden, sondern nur erstellen. Gesendet wird mit $system->mail. Scheinbar hat $send keinen Einfluss auf das Senden. Es ist egal, ob ich true oder false setze, ich erhalte immer zwei Mails.
Hab ich nen Knoten in der Denkleitung oder habe ich die Verwendung der Mail-Funktionen falsch verstanden?
Vielen Dank für eure Hilfe!
- Anmelden oder Registrieren um Kommentare zu schreiben
[gelöst]PDOException und ich weiß nicht warum!!!
Eingetragen von Ati (210) am 27.02.2012 - 16:00 Uhr inHallo zusammen,
aus verschiedenen Gründen muß ich ein eigenes Modul für den CSV-Import machen. Eine Variante konnte ich schon
gut lösen aber bei der zweiten Art bekomme ich folgendes angezeigt:
PDOException: in tpimport_form_submit() (Zeile 267 von C:\xampplite\htdocs\drupal7\sites\all\modules\csvimport\csvimport.module)
[gelöst] Login-Validierung über externe Datenbank
Eingetragen von wmeinberg (4) am 27.02.2012 - 09:56 Uhr inHallo, ich habe die undankbare Aufgabe ein Modul fertigzustellen, bei dem der bisherige Programmierer "in den Sack gehauen" hat.
Dabei muss ich auf eine externe Datenbank zugreifen. Daher sollte auch das Login über diese DB verifiziert werden, und da lege ich mir die Karten.
Kann mir jemand einen kurzen workaround geben?
Also ich möchte beim Login überprüfen:
[gelöst] Variablen in meinblock.tpl.php übergeben
Eingetragen von Medienopfer98 (65) am 27.02.2012 - 09:45 Uhr inIch bin momentan dabei ein Modul zu entwickeln, welches Blöcke erstellt. Hierfür habe ich zusätzlich die Datei meinblock.tpl.php, welche auch aufgerufen wird. Mein Problem ist allerdings, dass ich es nicht schaffe dort Variablen zur Verfügung zu stellen. Hab schon etliche Dinge probiert. Mein aktueller Stand ist, dass ich folgende Funktion nutzen möchte:
<?php
function meinModul_preprocess_block(&$variables)
{
if($variables['block']->module == 'meinModul' && $variables['block']->delta == 'meinModul_teaser')
{
echo 'Test';
$variables['myVar'] = 'Jetzt geht es';
}
}
?>Er schreibt auch Test im Frontend bei der Ausgabe. Ausserdem ruft er auch die Template-Datei auf. Ich würde jetzt gerne im Template einfach die Variable $myVar aufrufen. Hat jemand ein Tip? Ist das überhaupt die richtige Funktion?
=================
LÖSUNG:
Hab nochmal was anderes probiert,...
1) THEME HOOK und BLOCK VIEW HOOK
function test_theme()
{
return array(
'test_teaser_tpl' => array(
'arguments' => array('mylist'),
'template' => 'teaser',
),
);
}
// In hook_block_vies($delta) dann sowas ....
/*
...
$mylist = array('my'=>"ahhh jetzt geht es doch!");
$block['content'] = theme('test_teaser_tpl',$mylist);
...
*/ 2) IN TPL DATEI
<?php print_r($variables['my']); ?>
jQuery: durch Drupal Behaviors Fehlverhalten auf Seite
Eingetragen von raffi (21) am 24.02.2012 - 09:17 Uhr inHallo,
- Anmelden oder Registrieren um Kommentare zu schreiben
- Weiterlesen
Hook node_api soll nur greifen wenn ein bestimmtes Feld geändert wurde... [gelöst]
Eingetragen von Makku01 (58) am 23.02.2012 - 08:33 Uhr inHallo,
Nodes (Status) mittles hook_node_load ändern.
Eingetragen von michell (37) am 22.02.2012 - 13:12 Uhr inHallo.
Mit hook_node_load ändere ich den Status bestimmter nodes zu unveröffentlicht (status = 0). Leider werden diese dann trotzdem angezeigt - jetzt aber als unveröffentlicht markiert (rosa). Dies trotz ausdrücklichem Filter der VIEW, nur die veröffentichten Nodes anzuzeigen. Seltsames Verhalten.
user-register: Werte in Feld eintragen
Eingetragen von Hoamer (22) am 21.02.2012 - 17:16 Uhr inGuten Tag,
um es dem Benutzer zu erlauben die Stadt und PLZ anzugeben, benutze ich location.
Allerdings soll der Benutzer nur die PLZ angeben können.
Beim Senden des Register-Formulars soll dann der Name der Stadt zu der zugehörigen PLZ aus eine Datenbank geholt werden.
Dazu holte ich mir die verschiedenen API-Nachschlagewerke zu Rat. Allerdings habe ich hierzu einige Fragen, da es an einigen Stellen hakt.
1. Wie kann man auf den eingegebenen Wert nach Absenden des Register-Formulars zugreifen (->Zum berechnen des wertes)
2. Wie kann ich die Variable mit einem von mir festgelegten Wert füllen?
Bisher habe ich ein Modul erstellt, welches die aktuelle Registrierung ersetzt:
<?php
print drupal_render($form['form_build_id']);
print drupal_render($form['form_id']);
?>
<?php print drupal_render($form['account']['name']); ?>
<?php print drupal_render($form['account']['mail']); ?>
<?php print drupal_render($form['account']['pass']);?>
<?php print drupal_render($form['field_city']); //KEIN location-field ?>
<?php print drupal_render($form['locations']['0']['postal_code']);// Location-Field ?>
<?php print drupal_render($form['actions']['submit']); // print the submit button ?>Ich habe wirklich viel gesucht, da sich der Zugriff auf die locations-felder etwas aufwendiger herausgestellt hat, als erwartet.
Falls es möglich ist, bitte ein Beispiel (Schnipsel), woran es verdeutlicht wird.
Vielen Dank
Mit freundlichen Grüßen
Hoamer
- Anmelden oder Registrieren um Kommentare zu schreiben
Zusätzlich zu Node Access auch den Node in der Ansicht ausblenden
Eingetragen von michell (37) am 21.02.2012 - 16:29 Uhr inHallo!
- Anmelden oder Registrieren um Kommentare zu schreiben
- Weiterlesen

Neue Kommentare
vor 2 Tagen 56 Minuten
vor 1 Woche 5 Tagen
vor 1 Woche 6 Tagen
vor 9 Wochen 3 Tagen
vor 9 Wochen 4 Tagen
vor 9 Wochen 5 Tagen
vor 10 Wochen 2 Tagen
vor 10 Wochen 2 Tagen
vor 10 Wochen 6 Tagen
vor 10 Wochen 6 Tagen