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

Modul-Entwicklung

Fragen und Tipps zur Entwicklung eigener Drupal-Module.

Unterschied zwischen Drupal.behaviors und $(document).ready(function()

Eingetragen von Apfel007 (143) am 15.04.2010 - 15:03 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo zusammen,
kann mir jemand sagen, ob es funktionell einen Unterschied zwischen Drupal.behaviors und $(document).ready(function() gibt?

  • 2 Kommentare
  • Weiterlesen

Eigene Hooks erstellen

Eingetragen von stebeg (463) am 15.04.2010 - 08:17 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hi,

Ich plane gerade ein Modul, dass einen oder mehrere eigene Hooks zur Verfügung stellen soll. Nun hab ich natürlich schon etwas gegooglet, bin aber leider nicht wirklich fündig geworden. Was ich bis jetzt herausfinden konnte ist, dass ich module_invoke_all() in meinem Modul verwenden muss, aber wie das ganzen dann funktioniert ist mir noch ein Rätsel.

  • 1 Kommentar
  • Weiterlesen

Problem mit hook_form_alter

Eingetragen von martin.kaintz (12) am 14.04.2010 - 21:18 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo Ihr,

ich habe folgendes Problem bei meinem Modul:
Ich hab mittels hook_node_info() einen neuen Inhaltstyp erstellt und dann mit hook_form_alter() erweitert. In dieser function wird jqueryui (natürlich übers entsprechende modul) inklusive css geladen. Ich brauch nämlich den coolen datepicker! Wenn ich jetzt einen Inhalt erstellen will und (absichtlich) die erforderlichen Felder nicht ausfülle, dann lädt er nach dem submit die js und css von jquery nicht mehr! Die Site sieht in diesem Zustand so aus, dass ganz oben im roten Warnungsfeld die Warnungen stehen und die entsprechenden Felder rot umrahmt sind. Wiso lädt er jetzt jquery nicht?

Könntet ihr mir bitte helfen? Ich bin für jede Frage offen und bedanke mich schon mal für jede Antwort!
lg Martin

  • 5 Kommentare
  • Weiterlesen

Gruppe von Checkboxen und return values

Eingetragen von axelf (110) am 14.04.2010 - 14:43 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hi,

ich benötige für ein Modul mehrere Checkboxen, daher habe ich folgendes gemacht:

<?php

$form
['features'] = array(
       
'#type' => 'checkboxes',
       
'#options' => array(
           
'phone_festnetz' => 'Festnetz',
           
'phone_netzintern' => 'netzintern',
           
'phone_alle_netze' => 'alle Netze',
           
'phone_inklusivminuten' => 'Inklusivminuten'
       
),
);
?>

ist es möglich, das mal für jede Checkbox einen #return_value angeben kann? (also den key nicht als value verwenden). Jetzt werden checkboxen erzeugt, deren value gleich dem Key des Array ist. Der Code erzeugt ja sowas hier:
<input type="checkbox" name="features[phone_festnetz]" value="phone_festnetz" />

  • 2 Kommentare

Eigenes Modul plötzlich "unsichtbar"

Eingetragen von E-Fee (481) am 13.04.2010 - 15:36 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo zusammen,

ich habe ein kleines Hilfsmodul für Views geschrieben, das ich jetzt eigentlich nach langem Feilen so weit hatte, dass es das gemacht hat, was es sollte, jetzt hab ich aber ein anderes Problem!

  • 2 Kommentare
  • Weiterlesen

Wordpress Plugin zu Drupal Modul

Eingetragen von KiLLAH89 (181) am 10.04.2010 - 12:19 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Einen schönen guten Tag,

ich möchte gerne ein Wordpress Plugin in ein Drupal Module umschreiben und wollte fragen, ob mir jmd. dabei helfen kann!? Das Wordpress Plugin ist ziemlich klein (4kb). Hier mal die Codes der beiden Dateien:

affiliate_overview_affilinet.php

<?php
function printAffilinetOverview()
{ 
 
define ("WSDL_LOGON", "https://api.affili.net/V2.0/Logon.svc?wsdl");
 
define ("WSDL",  "https://api.affili.net/V2.0/AccountService.svc?wsdl");
 
 
$SOAP_LOGON = new SoapClient(WSDL_LOGON);


 
$Token      = $SOAP_LOGON->Logon(array(
              
'Username'  => get_option("affilinetPubID"),
              
'Password'  => get_option("affilinetPubWsPw"),
              
'WebServiceType' => 'Publisher'
              
));
 
 
$SOAP_REQUEST = new SoapClient(WSDL);
 
$req = $SOAP_REQUEST->GetPublisherSummary($Token);

 
$thisMonthConfirmed = $req->CurrentMonth->Confirmed;
 
$thisMonthOpen = $req->CurrentMonth->Open; 
 
$thisMonthCancelled = $req->CurrentMonth->Cancelled; 
 
$otherMonthConfirmed = $req->PreviousMonths->Confirmed;
 
$otherMonthOpen = $req->PreviousMonths->Open; 
 
$otherMonthCancelled = $req->PreviousMonths->Cancelled; 
 
$lastPaymentDate = $req->Payments->LastPayment;
 
$totalPayment = $req->Payments->TotalPayment;
 
$partnerShipsActive = $req->Partnerships->PartnershipsActive;
 
$partnerShipsWaiting = $req->Partnerships->PartnershipsWaiting;
 
?>

<table style="width:100%;border:dotted gray 1px;" cellspacing="1">
   <tr class="header">
     <th colspan="2">Kontostand</th>
     <th colspan="2">Umsatz der Vormonate</th>
     <th>Auszahlungen</th>
     <th colspan="2">Partnerschaften</th>
   </tr>
   <tr class="gerade">
     <td class="rightgray">Best&auml;tigt</td>
     <td class="rightgray bold confirmed"><?=money($thisMonthConfirmed);?></td>
     <td class="rightgray">Best&auml;tigt</td>
     <td class="rightgray bold confirmed"><?=money($otherMonthConfirmed);?></td>
     <td class="rightgray bold other"><?=gerDate($lastPaymentDate);?></td>
     <td class="rightgray">Aktive:</td>
     <td class="bold other center"><?=$partnerShipsActive?></td>
   </tr>
   <tr class="ungerade">
     <td class="rightgray">Offen</td>
     <td class="rightgray bold open"><?=money($thisMonthOpen);?></td>
     <td class="rightgray">Offen</td>
     <td class="rightgray bold open"><?=money($otherMonthOpen);?></td>
     <td class="rightgray bold other"><?=money($totalPayment);?></td>
     <td class="rightgray">Wartend:</td>
     <td class="bold other center"><?=$partnerShipsWaiting?></td>
   </tr>
   <tr class="gerade">
     <td class="rightgray">Storniert</td>
     <td class="rightgray bold canceled"><?=money($thisMonthCancelled);?></td>
     <td class="rightgray">Storniert</td>
     <td class="rightgray bold canceled"><?=money($otherMonthCancelled);?></td>
     <td>&nbsp;</td>
     <td colspan="2">&nbsp;</td>
   </tr>
   <tr class="ungerade rightgray">
     <td colspan="7"><a href="http://publisher.affili.net" target="_blank" title="publisher.affili.net"><b>&raquo; zum affilinet Publisher-Login</b></td>
   </tr>
</table>
<?php

}
?>

affiliate_overview.php

<?php
/*
Plugin Name: Affiliate Overview
Plugin URI: http://rosch24.de/affiliate-overview
Description: Konto&uuml;bersicht f&uuml;r affilinet-Publisher.
Version: 1.0
Author: Sebastian Roschitzki
Author URL: http://rosch24.de
*/
include('affiliate_overview_affilinet.php');
add_action('activity_box_end', 'wpaffilinet');
wp_enqueue_style( 'overview_css', plugins_url( $path = '/affiliate-overview/style.css'), array() );

//ERRORS
$phpVersionError = 'Tut mir leid, Du brauchst mindestens <b>PHP5</b> um dieses Plugin verweden zu k&ouml;nnen. Deine Version ist: <b>'.phpversion().'</b>';
$noWsPwError = 'Du musst erst deine PublisherID und dein Webservicepasswort eintragen um dieses Plugin verwenden zu k&ouml;nnen.';
$wrongWsPwError = 'Deine Kontoinformationen konnten nicht geladen werden. Bist Du sicher, dass die eingegebenen Daten stimmen?';

//FUNCTIONS
function gerDate($value)
{
 
$year = substr($value, 0, 4);
 
$month = substr($value, 5, 2);
 
$day = substr($value, 8, 2);
  if(
$year > 2000)
  {
 
$value = $day.'.'.$month.'.'.$year;
  }
  else
  {
 
$value = "noch keine&nbsp;";
  }
  return
$value;
}

function
money($value)
{
  if(
$value < 1)
  {
   
$value = " - ";
  }
 
$value = str_replace('.',',',$value);
 
$value = $value.' &euro;';
  return
$value;
}

function
error($value)
{
 
$value= '<div style="display:block;background-color:#ffdbdb;border:dotted 1px red;text-align:center;padding-top:10px;padding-bottom:10px">'.$value.'</div>';
  return
$value;
}
 
function
wpaffilinet()
{
  global
$phpVersionError;
  global
$noWsPwError;
  global
$wrongWsPwError;
  echo
'<hr style="display:none;" />';
  echo
'<h2>Affiliate-Overview</h2>';

  if (
phpversion() < 5)
  {   
     echo
error($phpVersionError);
  }
  else
  {
    if(
current_user_can('level_10'))
    {
      if(
get_option("affilinetPubID")!="" && get_option("affilinetPubWsPw")!="")
      {
      try
         {     
           
printAffilinetOverview();
         }
      catch(
Exception $e)
         {
            echo
error($wrongWsPwError);
         }
      }
      else
      {
         echo
error($noWsPwError);
      }     
    }
  }
}


//ADMIN-PAGE
 
$affilinetPubID = get_option('affilinetPubID');
 
$affilinetPubID = get_option('affilinetPubWsPw');

  if (
'insert' == $HTTP_POST_VARS['action'])
  {
      
update_option("affilinetPubID",$HTTP_POST_VARS['affilinetPubID']);
   
update_option("affilinetPubWsPw",$HTTP_POST_VARS['affilinetPubWsPw']);
  }
 
function
affiliate_overview_option_page()
{
?>
  
  <div class="wrap">
    <h2>Affiliate-Overview Einstellungen</h2>
      Um auf dein affilinet Konto zugreifen zu k&ouml;nnen musst Du deine PublisherID und dein Webservicepasswort eingeben.<br/>
        Das Webservicepasswort kannst Du im Loginbereich (<a href="http://publisher.affili.net" target="_blank" title="publisher.affili.net"><b>publisher.affili.net</b></a>) unter <b>Konto->Technische Einstellungen->Webservices->Publisher Webservices</b> generieren.<br/><br/>
        <form name="form1" method="post" action="<?=$location ?>">
          <table>
            <tr><td>PublisherID:</td><td><input name="affilinetPubID" value="<?=get_option("affilinetPubID");?>" type="text" /></td></tr>
            <tr><td>Webservice-Passwort:</td><td><input name="affilinetPubWsPw" value="<?=get_option("affilinetPubWsPw");?>" type="text" /></td></tr>
            <tr><td colspan="2"><input type="submit" value="Speichern" /></td></tr>
          </table>
          <input name="action" value="insert" type="hidden" />
      </form>
<?php if(isset($_POST['action'])) echo '<h4>&Auml;nderungen gespeichert</h4>';?>
    </div>
<?php
}
  
function
affiliate_overview_menu()
{
 
add_option("affilinetPubWsPw","");
 
add_option("affilinetPubID","");
   
add_options_page('Affiliate-Overview', 'Affiliate-Overview', 9, __FILE__, 'affiliate_overview_option_page');
}
 
 
add_action('admin_menu', 'affiliate_overview_menu');

?>

Ist nicht sonderlich viel Code, dennoch bekomme ich es nicht hin das Plugin umzuschreiben. Ich habe nämlich weder Ahnung von PHP (bzw. Anfänger) und erst recht keine Ahnung, wie ich das dann noch in Drupal schreiben soll.

Meine Drupal Version: 6x
Modul nur für Adminbereich. Es soll ein Übersichtsmodul sein, womit ich auf http://www.affili.net zugreifen kann wie mein Guthaben derzeit ist.

Ich hoffe ihr könnt mir dabei helfen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Regular Expression Problem

Eingetragen von TomTom122@drupal.org (60) am 08.04.2010 - 20:23 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo zusammen,

ich habe ein Regular Expression Problem.

Ich möchte gerne mit RegEx eine Textersetzung vornehmen.
Und zwar soll der Titel durch den Body ersetzt werden.

Kurzes Beispiel:
Ich habe mehrere Titel alle in einer Zeile

Mineral Wasser
Mineral
Wasser

  • Anmelden oder Registrieren um Kommentare zu schreiben
  • Weiterlesen

(solved) node_save - Admin muss nochmal speichern

Eingetragen von JThan (396) am 03.04.2010 - 19:45 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo.

Ich habe ein grundsätzlich funktionierendes Skript, welches mir Nodes erstellt. (Diese nodes sind Content profiles mit CCK feldern).

Ich erstelle ein Objekt $node mit den benötigten Daten (inkl. $node->uid, $node->nameu um den Autor zu setzen) und nutze node_save($node). Funktioniert prima. (Der User wird vorher im Skript mit $new_user=user_save($userdata) erstellt).

  • 3 Kommentare
  • Weiterlesen

Relationship - schon befreundet oder nicht ?

Eingetragen von Hacky (255) am 01.04.2010 - 15:45 Uhr in
  • Modul-Entwicklung

Hallo ich hab hier etwas zusammen gewurstelt und wunder mich warum es nicht geht ... vor 2 tagen hat es noch funktioniert ... dann hab ich bei Relationship in den Einstellungen bei Relationship Types den Typ gelöscht und neu angelegt seit dem geht das nicht mehr ... ich weiß aber auch nicht ob es 100 % daran liegt das ich den Typ gelöscht habe und neu angelegt hab. Die daten kommen ja auch richtig rein wie z.B User ID = 3 und account ID = 1 ... normal sollte er doch brav durch laufen warum nicht ??? pls help mee :(

Gruß


<?php

   
global $user;


   
//check if user may have this relationship
  
// Hier springt er schon raus ??? warum ???
if (user_relationships_api_can_request($user->uid, '1')) {

   
$req = $user->uid;
   
$acc = $account->uid;

     
//check if relationship allready excists, change the rtid to the relationship id you want them to have
     
if (user_relationships_load(array('between' => array($req, $acc), 'rtid' => '1', 'approved' => 1), array('count' => TRUE)) > 0){
       
//create remove action
       
$actions = _user_relationships_ui_between($user, $account);
       
        if (
count($actions)) {
           
       
         
//get remove link from array
         
foreach($actions as $remove){
           
//print remove link
               
            // print $remove;
                //$tempA = $remove;
               
         
}
        }
      }
      else
     
      {
       
       
//create relation action
       
$actions = _user_relationships_ui_actions_between($user, $account);
       
        if (
count($actions)) {
   
         
//print create link action
           //$actions[0];
       
}
      }
    }
   
   
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

User Erstellung + Weiterleitung

Eingetragen von byronic (195) am 30.03.2010 - 23:45 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Weiß jemand wie ich es schaffen kann, dass sobald ich einen User anlege, ich nicht nochmal zu dem User Erstellungs Formular geleitet werde sondern gleich zu seinem Profil?

  • 10 Kommentare
  • « erste Seite
  • ‹ vorherige Seite
  • …
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • …
  • 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 5 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 19 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 80 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