Drupal 7 - Masquer les liens ajouter et configurer un block

voici une methode pour masquer les liens Ajouter un bloc et configurer un bloc si l'utilisateur n'est pas l'administrateur (uid = 1)

 

la méthode consiste à implémenter hook_form_FORM_ID_alter pour altérer le formulaire "block_admin_display_form" qui permet de gérer les blocs.

On rajouter un champ input masqué de type "hidden" contenant l'UID de l'utilisateur connecté,  puis avec jQuery on va récupérer l'UID, et s'il est égal à 1 (admin crée lors de l'installation de Drupal) on masque  les  liensAjouter un bloc et configurer un bloc :

Code PHP:

<?php
/** * Implements hook_form_FORM_ID_alter

 * http://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_form_FORM_ID_alter/7
 */
// add a hidden input to show uid =================================

function custom_latrach_form_block_admin_display_form_alter(&$form, &$form_state) { 
global
$user;
$iduser = $user->uid;
$form['form_user_uid'] = array (
 
'#type' => 'hidden',
 
'#value' => $iduser,
);
  }
?>

JAVASCRIPT:

(function ($) {

//=============== Events JQuery
$(document).ready(function() {

var uid = $('.page-admin-structure-block input[name="form_user_uid"]').val();
if (uid != 1) {
$(".page-admin-structure-block .action-links").hide();
$("a[id$='configure']").hide();
}

/* ============== END Events JQuery*/
});

})(jQuery);

Tags: 

Catégories: 

Share/Save

Ajouter un commentaire

Filtered HTML

  • Pour publier des morceaux de code, entourez-les avec les balises <code>...</code>. Pour du PHP, utilisez. <?php ... ?>, ce qui va colorier le code en fonction de sa syntaxe.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
CAPTCHA
Cette question permet de s'assurer que vous êtes un utilisateur humain et non un logiciel automatisé de pollupostage (spam).
Image CAPTCHA
Saisir les caractères affichés dans l'image.