Submitted by RMK on
Bonjour a tous;
J'ai crée un type de contenu qui s'appelle offre d'emploi et j'ai créer un vue lié a ce type de contenu avec une template. Le problème que j'ai c'est que je ne sais pas si possible d'ajouter une condition dans la requete généré par la vue dans le fichier du template, car mon but est d'affiché les offres selon le role de l'utilisateur connecté, j'ai deja un champs référence au role de l'utilisateur dans mon type de contenu.
Bien cordialement.
Salut RMK,
Permalien Soumis par Balthasarh le 10 Mai, 2013 - 17:13
Salut RMK,
Pour modifier la requête d'une views, il faut passer par un hook_views_query_alter().
Merci pour votre réponse,
Permalien Soumis par RMK le 9 Mai, 2013 - 18:36
Merci pour votre réponse, mais pouvez me donner un exemple pour bien comprendre ce que vous avez dit.
Merci d'avance.
Voila un exemple rapido
Permalien Soumis par Balthasarh le 10 Mai, 2013 - 17:12
Voila un exemple rapido
/**
* Implements hook_views_query_alter()
*/
function MODULE_views_query_alter(&$view, &$query) {
global $user;
if ($view->name == 'VIEWS') {
// Modifier en fonction
$query->where['1']['conditions'][1]['value'] = array_keys($user->roles);
$query->where['1']['conditions'][1]['operator'] = 'IN';
}
}
bonjour
Permalien Soumis par toki le 9 Mai, 2013 - 18:49
bonjour
sans passer par du code, il est possible d'afficher des vues spécifiques grâce aux arguments contextuels (dans la colonne avancée de Views 3, à droite). en indiquant à Views, affiche moi cette requête selon le rôle de l'utilisateur en argument, cela devrait fonctionner. Pour le détail, il est difficile au cas par cas de donner une solution donc, je conseillerais de trouver une doc sur ces fameux arguments (=contextual filters) et la réponse devrait tomber.
Bon courage
Toki