Message d'avertissement

The subscription service is currently unavailable. Please try again later.

[résolu] Différencier la page d'accueil

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Je veux juste différencier la page d'accueil pour une catégorie d'utilisateurs (avec le rôle xxx) qui ne verrait que ses propres contenus, mais sans aller chercher la grande cavalerie du module Front Page.

Ceci revient à insérer une vue dans un bout de page PHP qui sera définie ensuite comme la nouvelle page d'accueil. Pas envie non plus d'installer un nouveau module comme Insert View juste pour cela.

J'ai donc trouvé ceci :
http://drupal.org/node/47417 (drupal 5.x)
http://drupal.org/node/496710 (drupal 6.x)

J'ai fait deux vues, une identique à la page d'accueil (tous les contenus promus et publiés) et une deuxième légèrement modifiée pour ne laisser passer que si l'auteur du contenu a le rôle xxx.
Ça a l'air de fonctionner.

<?php
global $user;
$role_name = 'xxx';
$view_name = 'page_accueil_generale'; // vue générant la page d'accueil classique
if ($user->uid) {
  if (
in_array($role_name,$user->roles)) {
   
$view_name = 'page_accueil_xxx'// vue générant la page d'accueil pour le rôle xxx
 
}
}
$view_args = array();
$display_id = 'default';
print
views_embed_view($view_name, $display_id, $view_args);
?>

S'il y a plus court ou plus propre, je suis preneur, sinon, si ça peut servir à d'autres...

Version de Drupal :