J'ai dpm ($ form) de travail. Agréable! C'est beaucoup mieux de voir les données. J'essaie toujours de savoir d'où proviennent les choses, par exemple: l'emplacement longitude & latitude. Le mot «longitude» est référencé dans 20 endroits différents. Je pensais que c'était un endroit probable pour isoler la zone de texte pour ce champ de saisie. dpm ($ form ['# field_info'] ['field_store_latitude'] ['location_settings'] ['formulaire'] ['champs']);
Avez-vous des astuces sur la façon de rechercher les éléments d'entrée individuels?
** ce n'est pas une réponse, mais un complément à ma première question **
salut googletorp -
Je suis en train de modifier les formes existantes à l'aide hook_form_alter.
Après plusieurs heures de farfouillé, je peux maintenant désactiver la section emplacement (longitude/latitude) d'une forme comme ceci:
unset ($ form [ 'field_store_latitude']);
Cependant, en éteignant simplement la latitude comme celui-ci, ne fonctionne pas:
unset ($ form [ 'field_store_latitude'] [ '0'] [ '# location_settings'] [ 'form'] [ 'champs'] ["locpick"]);
Je n'arrive pas à trouver un moyen facile de lier l'identifiant et les noms dans une source html avec des tableaux produits par Krumo. Dans ce cas, id est appelé "edit-field-store-latitude-0-locpick-user-latitude".
J'ai besoin d'une recette ou de lignes directrices pour identifier les élémets de forme sous forme Drupal.
Je pense que je clouées une solution
<?php
// allows you to alter locations fields, which are tricky to access.
// this will require a patch in location module described here:
// http://drupal.org/node/381458#comment-1287362
/**
* Implementation of custom _element_alert() hook.
*/
function form_overrides_location_element_alter(&$element){
// change some location descriptions
$element['locpick']['user_latitude']['#description'] = ' ' . t('Use decimal notation.');
$element['locpick']['user_longitude']['#description'] = ' ' . t('See <a href=!url target=_blank>our help page</a> for more information.', array('!url' => url('latlon_help')));
// or make them disappear entirely
unset($element['locpick']['user_longitude']);
unset($element['locpick']['user_latitude']);
}
/**
* Implementation of form_alter hook.
*/
function form_overrides_form_alter(&$form, $form_state, $form_id) {
switch ($form_id) {
case 'user_profile_form':
// change titles in user profile form
$form['account']['name']['#title'] = t('Login Name');
$form['account']['mail']['#title'] = t('Email');
break;
case 'retailer_node_form':
// let's check what is supposed to be here...
print '<pre>';
//print_r($form);
dsm($form);
print '</pre>';
// this works to remove the city
unset($form['field_myvar_latitude']['0']['#location_settings']['form']['fields']['city']);
// let's try #after_build property
$form['#after_build'][]='mymodule_after_build_mynode';
break;
}
}
function mymodule_after_build_mynode($form, $form_values) {
// This will not work for locations fields
return $form;
}`enter code here`
Pouvez-vous être plus précis, que voulez-vous faire? Découvrez quels modules ont ajouté un champ de formulaire à un formulaire (le formulaire de noeud?)? – googletorp