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

Modul-Entwicklung

Fragen und Tipps zur Entwicklung eigener Drupal-Module.

[gelöst]Fehlemeldung Deprecated function

Eingetragen von th3o2211 (87) am 20.09.2012 - 09:07 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Hallo Drupalfreunde,

ich bekomme diese Fehlermeldung :

<?php

Deprecated
function: Call-time pass-by-reference has been deprecated in drupal_load() (Zeile 1128 von C:\xampp\htdocs\USERNAME\drupal\includes\bootstrap.inc).

?>

wenn ich eine Funktion mit 2 Parametern aufrufe. Die Stelle sieht so aus:

<?php

function mein_modul_compare_submit ($form, &$form_state) {

   
$datum1 = $form_state['values']['datum1'];
   
$datum2 = $form_state['values']['datum2'];
   
   
   
//dpm($form_state['triggering_element']['#executes_submit_callback']);
   
   
if($form_state['triggering_element']['#executes_submit_callback'] == TRUE or $form_state['triggering_element']['#executes_submit_callback'] == 1) {
   

       
$output_weather_compare = mm_weather_show_compare($datum1, &$datum2);

        echo
$output_weather_compare;


    }
}

?>

Die Funktion die ich aufrufe ist natürlich vorhanden und ich hab auch dort die Parameter drin. Ich habe dieses Konstruk nochmal in meinem
Modul verwand, da bekomme ich aber diese Fehlermeldung nicht. Ich würde mich über eueren Rat freuen

  • 2 Kommentare

[gelöst]Erster Wert von Auswahlfeldern in Formular

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

Hallo,

ich habe ein Problem mit einem checkbox-Element in meinem Formular. Die Auswahl von mehreren Werten klappt soweit, allerdings bereitet mir der erste Wert gehörige Probleme. Er wird weder in die Datenbank übernommen (bzw. immer übernommen), noch bleibt er gecheckt, falls ein Fehler im Formular auftritt. Alle anderen Werte zeigen die korrekte Funktionalität. Meine bisherigen Versuche sehen folgendermaßen aus:

<?php
...
# Wert wird immer in die DB geschrieben, egal ob gewählt oder nicht
   
if ($form_state['values']['moduletype'][0] == 0) {
       
$node->field_modultyp[0]['value']    = $form['moduletype_options']['#value'][0];
    }
...

?>

<?php

# Wert wird nie in die DB übernommen
   
if ($form_state['values']['moduletype'][0] != null) {
       
$node->field_modultyp[0]['value']    = $form['moduletype_options']['#value'][0];
    }

?>

Die zugehörige Formularerstellung:

<?php

           $form
['moduletype_options'] = array(
       
'#type'     => 'value',
       
'#value'     => array(
                           
'Recommendation',
                           
'Newsletter',
                           
'Pricing',
                           
'Assortment Planning',
                           
'Data Cleansing',
                           
'Scoring',
                        ),
    );
   
$form['instance']['moduletype'] = array(
       
'#title'         => 'Modultyp',
       
'#type'            => 'checkboxes',
       
'#description'    => 'Modultyp(en)',
       
'#options'        => $form['moduletype_options']['#value'],
    );

?>

Danke und viele Grüße

  • 2 Kommentare

Wenn User ihre Profile verändern -> hook_user_presave?

Eingetragen von xip (65) am 18.09.2012 - 13:18 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x oder neuer

Hallo,

ich habe ein Locationfield bei mir in den Userdatas und dies möchte ich gerne befüllen. Also wenn ein User sei Profil ändert möchte ich vor dem Speichern noch kurz eine Adresse eintragen die dann im Field gespeichert wird.

Welchen Hook brauche ich dafür? Und worauf muss ich achten?

Dank euch.

  • 4 Kommentare

[gelöst] Modul addressfield mit eigenen Ländern belegen

Eingetragen von xip (65) am 15.09.2012 - 13:14 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x oder neuer

Hallo ihr,

ich nutze addressfield um Adressen zum Contents abzuspeichern. Aber ich möchte nicht das die User sowas selber eintippen, sondern lasse das Ganze durch ein GeoField ausfüllen.

Also ich lese die Position aus dem GeoField und machen ein reverse Geocoding über Goolge:

<?php

function xip_geolocate($location) {

 
$data = array ( 'Strasse' => NULL,
                
'plz' => NULL,
                
'Land' => NULL,
                
'Stadt' => NULL );

 
$json = drupal_http_request("http://maps.googleapis.com/maps/api/geocode/json?latlng=$location&sensor=true");
 
$response = drupal_json_decode($json->data);

  switch (
$response['status']) {
    case
'OK':
      foreach(
$response['results'] as $results)
      {

            if (isset(
$results['address_components'][0]['types'][0]))
            {
                if(
strcmp($results['address_components'][0]['types'][0],"postal_code")==0 && !isset($data['plz']))
                {
                   
$data['plz'] = $results['address_components'][0]['long_name'];
                   
                }
               
                if(
strcmp($results['address_components'][0]['types'][0],"route")==0 && !isset($data['Strasse']))
                {
                   
$data['Strasse'] = $results['address_components'][0]['long_name'];
                   
                }
               
                if(
strcmp($results['address_components'][0]['types'][0],"country")==0 && !isset($data['Land']))
                {
                   
$data['Land'] = $results['address_components'][0]['long_name'];
                   
                }
               
                if(
strcmp($results['address_components'][0]['types'][0],"locality")==0 && !isset($data['Stadt']))
                {
                   
$data['Stadt'] = $results['address_components'][0]['long_name'];
                   
                }
            }
      }
      break;
     
    case
'ZERO_RESULTS':
     
      break;
     
    case
'OVER_QUERY_LIMIT':
     
watchdog('geolocate', t('OVER QUERY LIMIT'), array(), WATCHDOG_ALERT);
      break;
  }

  if(!isset(
$data['Stadt']))
   
$data['Stadt']=' ';
  if(!isset(
$data['Land']))
   
$data['Land']=' ';
  if(!isset(
$data['plz']))
   
$data['plz']=' ';
  if(!isset(
$data['Strasse']))
   
$data['Strasse']=' ';
   
  return(
$data);
}
?>

das klappt auch alles super!!!

Nur, wenn ich danach die Daten überschreibe von dem adressfield klappt das mit dem Land nicht.

Google gibt mir z.B. Germany und das Ding will De. Naja. Ich hab jetzt kein Bock für alle Länder die Abkürzungen rauszusuchen und das auch immer zu pflegen.

Es gibt da im Modul die Funktion _addressfield_country_options_list . Damit könnte man das irgendwie im Modul ändern. Habt ihr sowas schon mal gemacht?

Habt ihr da eine Idee??

Vielen Dank

  • 2 Kommentare

Distribution eines Modules mit eigenem jquery plugin?

Eingetragen von doca (16) am 14.09.2012 - 12:58 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Hallo liebe Drupalgemeinde,
ich habe ein Problem, an dem ich nun schon seit 5 Stunden sitze und nicht wirklich weiter komme.

Ich habe ein Modul entwickelt, das im Modulverzeichnis ein jquery,plugin laden soll. Wenn ich mit drupal_add_js() die Datei einbinde, wird die Datei tatsächlich geladen, allerdings erscheint ein

  • 1 Kommentar
  • Weiterlesen

[gelöst] jQuery: Abfrage einer Checkbox in der Node-Form

Eingetragen von tfranz (125) am 13.09.2012 - 16:35 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Hallo,

ich habe eine – hoffentlich – kleine Frage in Verbindung mit jQuery:

Ich möchte den Status einer Checkbox in der Node-Add-Form abfragen und habe dazu ein kleines Modul geschrieben (siehe Anhang).

Die Checkbox sieht im Markup wie folgt aus:

<div class="form-item form-type-checkbox form-item-field-calculate-und">
<input type="checkbox" class="form-checkbox" value="1" name="field_calculate[und]" id="edit-field-calculate-und">
<label for="edit-field-calculate-und" class="option">Calculate </label></div>

Das Modul:

<?php
function java_form_alter(&$form, $form_state, $form_id){

if(
$form_id == 'article_node_form'){
    
$form['field_calculate']['#after_build'] = array('_load_my_javascript');
  }
}
function
_load_my_javascript($element){
   
drupal_add_js( drupal_get_path('module', 'java') . '/java.js');
    return(
$element);
}
?>

Die Javascript-Funktion, welche ich lade:

(function ($) {
alert("START");
    $('#edit-field-calculate-und:checkbox').change(function() {
       alert("KLICK");
    });           
})(jQuery);

Nach dem Aufrufen einer Node-Form über /node/add/article erscheint zuerst die jQuery-Alertbox "START": das Script wird also geladen.
Nur bekomme ich keine Rückmeldung, sobald ich auf die Checkbox klicke ... was ich aber gerne hätte ...

Wo liegt mein Denkfehler?

Danke für jeden Hinweis,

Tobias

  • 12 Kommentare
  • 1 Anhang

Eigene Felder mit der Schema API definieren

Eingetragen von xrammit (1) am 12.09.2012 - 16:46 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Hallo zusammen,

ich bin dabei ein Modul zu entwickeln, das einen eigenen node type definiert. Diesem node type füge ich anschließend einige (von Drupal oder anderen Modulen schon bereitgestellten) Felder hinzu.
Außerdem möchte ich ihm aber auch noch zwei selbst definierte Felder hinzufügen.

  • 1 Kommentar
  • Weiterlesen

In einem Hook im eigenen Modul, wie kann ich ein array verändern?

Eingetragen von xip (65) am 12.09.2012 - 12:23 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x oder neuer

Hallo Ihr,

bin gerade dabei ein Modul zum Forum zu programmieren. Möchte dazu einige Parameter die bereits in der Variable $node gespeichert sind verändern.

Jetzt die Frage wie??? Kann ich einfach die Werte überschreiben und dann werden diese automatisch so in die Datenbank übernommen??

Oder muss ich die einzelen Variablen abfangen und eigene SQL Statements daraus bauen um die Datenbank zu ändern?

Hab ein Modul und will dadrin wenn ein neuer Beitrag im Forum gepostet wird einige Werte verändern.

Also:

<?php
function testkanickel_node_insert($node)
{
$node->title = "Testueberschrift";
debug($node);
}
?>

im Debug scheints ja zu klappen, nur in der Datenbank taucht es so nicht auf.

stdClass::__set_state(array(
'uid' => '1',
'name' => 'admin',
'type' => 'forum',
'language' => 'und',
'title' => 'Testueberschrift',
'status' => 1,
'promote' => 0,
..
..
..

Könnt ihr mir da weiterhelfen?
Gruß
-Patrick

  • 2 Kommentare

Selectbox in drupal schreiben

Eingetragen von th3o2211 (87) am 12.09.2012 - 07:45 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Hallo Drupalfreunde,

danke erstmal, dass ihr euch diesen Beitrag anschaut :-) . Ich schreibe momentan zur übung ein kleines Modul und bin auch soweit mit dem gröbsten fertig. Das Problem was ich jetzt habe
ist, dass ich eine datums selectbox machen möchte.

Ich habe es so versucht:

<?php

   
function user_interface_output() {
   
   
$output  = '<html>';
   
$output .= '<body>';
   
$output .= '<form action="#" method="post">';
   
$output .= 'Datum:';
   
$output .= '<select name="tag" style="border: thin solid #777777">
        <option>*</option>'
;
        for (
$i = 1; $i <= 9; $i++) {
            if(@
$_POST['tag'] == "0".$i){ $selected = "selected='yes'"; } else { $selected="";}
           
$output .= "<option $selected>0$i</option>";
           
$output .= "<option>0".$i."</option>";
        }
        for (
$i = 10; $i <= 31; $i++) {
            if(@
$_POST['tag'] == $i){ $selected = "selected='yes'"; } else { $selected="";}
           
$output .= "<option $selected>$i</option>";
        }
        return
$output;
   
    }

    function
user_interface_user() {

   
$input =user_interface_output();
    echo
$input;

?>

Die checkbox mit den einzelnen Tagen kommt auch zum vorschein doch leider "zerreißt" er mir die Seite, sie wird weiß und das template wird nicht mehr richtig angezeigt.

Gibt es vllt eine andere Möglichkeit wie ich dieses Problem löse?
Vielen dank für eure Antwort :-)

  • 7 Kommentare

Proximity: Location: Startpunkt von GeoField aus Profil.

Eingetragen von xip (65) am 11.09.2012 - 16:23 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Hallo,

ich möchte gerne für die Umkreissuche von Proximity den Startpunkt, den der User normalerweise selber eingeben muss, aus dem Userprofil holen.

Dieser ist dort als GeoField hinterlegt. Nutze für die Profile das Modul Profile2.

  • Anmelden oder Registrieren um Kommentare zu schreiben
  • Weiterlesen
  • « erste Seite
  • ‹ vorherige Seite
  • …
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • …
  • 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 18 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 16 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