Modul-Entwicklung
Formularzugriff nur für bestimmte Rollen
Eingetragen von Ati (210) am 02.02.2012 - 14:53 Uhr inHallo zusammen,
für meine eigenen Formulare möchte ich die Zugriffssteuerung relativ fein bestimmen.
Ich habe verschiedene Rollen angelegt (Vertrieb, Einkauf, Logistik). Wie muss ich die access arguments
gestalten das z.b. das Formular xy nur von den Rollen Logistik und Administrator bearbeitet werden dürfen?
Ati
teatarea mit Text füllen
Eingetragen von chulu (7) am 02.02.2012 - 11:53 Uhr inHallo ,
ich bin Anfänger was Drupal angeht und hab eine kurze frage,
ich habe mir ein modul geschrieben das mir zahlen die ich in einem formular in die textbox eingebe in eine datenbank speichert.
nun möchte ich das ganze rüchwärts, ich habe ein zweites formular erstellt, mit einer textbox und möchte nun ergebnisse aus der db rein schreiben, wie spreche ich die textarea an?
danke im voraus.
#ajax Funktionalität in einem Field Widget
Eingetragen von borik (15) am 30.01.2012 - 18:15 Uhr inHallo, ich habe
ein neues Feldtyp erstellt, dort habe ich zwei auswahllisten( in Abhängigkeit zueinander)
so sieht etwa mein code aus:
<?php
function depend_dropdown_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element){
...
...
// Erste Auswahlliste
$element['1element'] = array(
'#type' => 'select',
'#options' => $options,
'#default_value' => $1option,
...
// Nach dem Auswählen soll Ajax, abhängig von der Auswahl die Zweite Auswahlliste zubereiten.
'#ajax' => array(
'wrapper' => 'wrapper',
'callback' => 'my_ajax_callback',
),
);
// Die zweite Auswahlliste.
$element['2element'] = array(
...
...
'#prefix' => '<div id="wrapper">',
'#suffix' => '</div>',
// Dies ist die funktion die mir das array für die 2. Auswahlliste zurückgibt.
'#options' => _get_2element_optins($1option),
);
return $element;
}
// Also mit der Field api scheint das nicht zu klappen, wie in einem Formular...
// ich bin mir sicher der callback wird ausgeführt.
// aber was ich nach return in der callback function schreiben soll ist mir total unklar. $element[]? $form[] ?
// hab also schon einiges ausprobiert, hat leider nix geklappt.
//Vllt. Liegt das Problem aber Oben bei $1option... Denn das wäre die nächste Frage,
//Wie hole ich die Auswahl in die Variable, ohne die Seite neu zuladen.. Das ist auch das ZIEL ;)
//$form_state['values']['field'....][...] gab mir zwar den Wert wieder, aber erst nach
//dem Aktualisieren der Seite..
function my_ajax_callback($form, $form_state){
return $form['2element'];
}
?>Also krieg ich das irgendwie nicht gebacken, bin mir also zieeemlich unsicher was dort jetzt zu tun ist, vllt hängt es an der Uhrzeit oder am Fehlen von Koffein aber ich verstehe nicx mehr... meine Fragen:
1. was soll man im callback aufrufen (Wir befinden uns in der Field Api)???
2. wie bekomme ich das Zuerst ausgewählte VALUE in die funktion _get_2element_options($1option)
oder besser gesagt wie definiere ich es in der variable $1option ? Mit $form_state['values'] geht es nicht, dafür muss die Seite neugeladen werden, was ich auch mittels ajax verhindern will...
Freue mich auf eure Antworten
borik
hook_form_alter für cck-feld klappt nur im Add-Form, jedoch nicht im Edit
Eingetragen von drupaletic (3) am 30.01.2012 - 16:23 Uhr inHallo,
ich habe einen Nodetype, nennen wir ihn 'events'. In diesem Nodetype habe ich mittels CCK ein Textfeld mit Radio-buttons erstellt. Nun möchte ich gerne die "allowed values" dieses Feldes programmatisch ändern und zwar so dass als Optionen alle Nodetypes verfügar sind, die nach einem bestimmten Muster benannt sind.
Dies habe ich folgndermaßen gelöst:
<?php
function clavisto_evt_register_form_alter(&$form, &$form_state, $form_id){
if($form_id == 'events_node_form'){
$options = array();
$types = node_get_types('types');
foreach($types as $key => $type){
if(preg_match("/^events_reg/",$type->type)) {
$options[] = $type->name;
}
$options_str = implode("\n",$options);
$form['#field_info']['field_evt_regform']['allowed_values'] = $options_str;
dsm($form['#field_info']);
}
}
?>Das funktioniert soweit, aber nur im Node-add form also in /node/add/events. Im Edit-Form werden leider immer noch die ursprünglichen Optionen angezeigt, obwohl laut dsm in $form['#field_info']['field_clav_evt_regform']['allowed_values'] die richtigen Werte liegen.
Ich hab bereits umfangreich Google bemüht bin aber auf keine Antwort gestoßen, weswegen ich hier nachfragen wollte, ob jemand einen Tip bzw. Lösungsansatz für mich hat.
- Anmelden oder Registrieren um Kommentare zu schreiben
Drupal Änderung nach PHP Skript nicht korrekt
Eingetragen von TorstenHI (46) am 25.01.2012 - 15:43 Uhr inHallo,
ich habe folgendes Problem:
Ich betreibe die Webseite www.tkvkh.de.(Gemeinnütziger Sportverein)
Dort habe ich einen Bereich "Trainingszeiten" ein PHP Skript, welches Datenbankabfragen übernimmt und die Ergebnisse als HTML Tabelle darstellt.
Parallel dazu habe ich mir ein Frontend gebastelt (PHP), wo ich genau angeben, welches Training mit welchem Trainer stattfindet.
[gelöst] hook_theme und Variablen
Eingetragen von CHiLi.HH (9) am 23.01.2012 - 21:37 Uhr inMoin Gemeinde,
ich steh gerade wie ein "Ochs' vor'm Berg"... es geht um hook_theme und die Implementierung eines Theme-Hooks, welcher ein Template einsetzt. Das Problem: die Variablen, die ich mittels "variables" definiere, kommen total verstümmelt im Template an.
Da das ganze arg absurd und schwer zu erklären ist, hier ein kleines Code-Snippet, um das Problem zu verdeutlichen:
Module:
<?php
function mymodule_theme() {
return array(
'foobar' => array(
'template' => 'foo',
'variables' => array(
'foo' => NULL,
'bar' => NULL,
),
),
);
}
function mymodule_page_callback() {
return theme( 'foobar', 'Hello', 'World');
}
?>Template "foo.tpl.php":
<?php
print $foo; print $bar;
?>Ausgabe:
W W
Genau. "W W". Sprich: der erste Char der letztübergebenen Variablen.
Kann mir das jemand erklären?
Lg
Christian
db_fetch_array() aus D6 in D7 implementieren???
Eingetragen von Thomas_Ulo (4) am 20.01.2012 - 18:33 Uhr inIch habe nochmal eine Frage:
Ein selbstgeschriebenes Modul auf meiner D6 Plattform greift auf die Funktion: db:fetch_array() zu.
Diese Funktion existiert in D7 leider nicht mehr und ich muss sie mit einem for each loop ersetzen.
Hat schonmal jemand die Funktion umgeschrieben, bzw. hat tipps, wie man sie sauber umschreiben kann?
node_body_field() in D7 ???
Eingetragen von Thomas_Ulo (4) am 19.01.2012 - 11:16 Uhr inHallo!
Ich bin gerade dabei ein selbst gebautes Modul für D6 auf D7 upzugraden.
Mein Problem ist, dass die Funktion node_body_field() anscheinend ersatzlos gestrichen wurde. Die Funktion liest von einem gegebenen node den body aus und übergibt ihn.
Laut drupal.org wurde die Funktionalität in die Field API übergeben, aber ich finde eine solche Funktion nicht.
Membership bei der Registrierung
Eingetragen von brader71 (6) am 18.01.2012 - 10:07 Uhr inIch suche eine Module ähnliche wie dieses Kostenpflichtige Module Membership Suite unter: http://www.moneyscripts.net/drupal-membership-suite
oder ein Tipps. Der User soll sich bei der Registrierung seine Daten eingeben und gleich einen Beitrag zahlen, dann kann er sich registrieren. Vielen Dank
Form Submit var_dump?
Eingetragen von byronic (195) am 16.01.2012 - 21:04 Uhr inIch habe hier eine Nodetyp inkl. einzelner CCK Felder. Diese würde ich gerne per hook_presave, nach dem absenden der Node, abändern. Jetzt ist das Problem dass ich nicht weis, welches objekt/array das für die Felder ist. Gibt es die Möglichkeit mir irgend wie alle Vars, nach dem FormSubmit, mir anzeigen zu lassen? Also praktisch, welches Feld unter welcher Var etwas sendet.

Neue Kommentare
vor 2 Tagen 4 Stunden
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 11 Wochen 1 Stunde
vor 11 Wochen 1 Stunde