Je n'ai pas essayé cela, mais je parie que cela fonctionne: utiliser hook_form_alter() pour accéder à votre formulaire de configuration de bloc. Là, vous aurez un & $ form_state et serez en mesure de faire des trucs AJAX de fantaisie (see this). La partie la plus difficile consiste à modifier UNIQUEMENT VOTRE forme à l'alter-hook. façons possibles:
Je ne sais pas si cela fonctionne (façon la plus élégante):
function mymodule_form_alter(&$form,&$form_state,$form_id) {
if ($form_id == 'block_admin_configure') {
// Find the delta in the $form variable
if ($form['delta'] == 'the_delta_you_are_looking_for') {
//do fancy ajax stuff
}
}
}
laid, mais sans aucun doute possible:
function mymodule_form_alter(&$form,&$form_state,$form_id) {
if ($form_id == 'block_admin_configure' && arg(4) == 'mymodule') {
//do fancy ajax stuff
}
}
}
encore plus laid, mais aussi possible:
function mymodule_block_configure($delta = '') {
$form = array();
if ($delta == 'my_block') {
$form["my_block_change_this"] = array(
"#type" => "hidden",
"#value" => "lalala",
)
}
}
function mymodule_form_alter(&$form,&$form_state,$form_id) {
if ($form_id == 'block_admin_configure') {
if (!empty($form['my_block_change_this'])) {
//do fancy ajax stuff
}
}
}
Astuce: Imprimez le form_state-array (au crochet alter) et voyez ce qu'il y a (c'est toujours la première chose que je fais n je rencontre des problèmes FAPI). J'espère que cela t'aides.
Je suis si triste que cela n'a aucune réponse. Avez-vous déjà travaillé ou trouvé votre réponse? Un lien de suivi serait génial parce que je travaille exactement la même chose. –
Ajouté quelque chose :-) – Chris