Submitted by r.cracs on
Bonjour,
J'ai un problème avec les fields collections et la suppression des boutons "Supprimer" et "Ajouter un autre élément" en édition de contenu. En fait j'ai des nodes qui se clone avec un contenu dont plusieurs field collections avec des lignes déjà remplit. L'objectif sera que les utilisateurs puissent modifier ces field collection sans pouvoir supprimer ou ajouter de nouvelles lignes, seulement modifier le contenu des lignes. Seul l'admin pourra toucher aux boutons.
J'essaye d'utiliser le HOOK_preprocess_HTML pour faire ceci afin d'ajouter des classes css sur mes boutons et enfin les cacher en css. Voici le code que j'ai déjà créer dans mon fichier "Template.php" de mon thème :
function montheme_preprocess_html(&$variables) {
global $user;
$pxvar = explode(' ', $variables['head_title_array']['title']);
if((in_array('Modifier', $pxvar) && in_array('P1', $pxvar)) || (in_array('Modifier', $pxvar) && in_array('P2', $pxvar))) {
$account = user_load($user->uid);
if(in_array("administrator", $account->roles)) {
kpr($variables);
//$variables['classes_array'][] = 'test_user';
}
}
}
Dans le tableau "$variables['classes_array']" j'obtiens toutes les classes du body.
Pour vérifier déjà que je sois sur la bonne page je suis obliger de faire la vérification sur les titres car les nodes sont cloner et du coup il y aura toujours des id supplémentaires et pas fixe. Après je me suis poser la question est ce que l'on peut pas faire ceci sur les nodes que je clone donc qui se clonerai sans boutons... Enfin je ne sais pas...
Si vous avez des idées pour que je puisse finir ceci ?
EDIT : je viens de voir à l'instant que j'ai accès au contenu de toutes la page avec : $variables['page']..
Merci
Up :)
Permalien Soumis par r.cracs le 8 Octobre, 2014 - 11:50
Up :)
personne n'a une idée ? j
Permalien Soumis par r.cracs le 10 Octobre, 2014 - 09:56
personne n'a une idée ? j'arrive à supprimer le bouton ajouter en faisant ceci :
puis donner un style à cette classe.
Mais pas moyen d'ajouter un #attributes et class au remove_button :
- $variables['page']['content']['system_main']['mon_field']['und']['$key']['remove_button']['#attributes']['class'][] = 'testeeeeeeee';
Ceci ne fonctionne pas #attributes reste toujours un tableau vide...
Merci
Personnellement j'aurais
Permalien Soumis par vincent59 le 10 Octobre, 2014 - 12:40
Personnellement j'aurais plutôt fait un module qui travaille avec un hook_node_view.
Du coup on peut modifier directement le formulaire
Bonjour, merci de ton conseil
Permalien Soumis par r.cracs le 10 Octobre, 2014 - 16:39
Bonjour, merci de ton conseil, finalement je suis arrivé à les cacher en utilisant un hook form alter et en ajoutant une classe que je mets en display none pour les boutons d'ajouts et pour les boutons de suppression j'ai dû placer des prefix et suffix. Malheureusement, les colonnes où il y avait le bouton supprimer restent vides dans le tableau... Il faut que je trouve un moyen de les enlever