Catégories:
Je voudrais implémenter le fonctionnement suivant avec une View :
- Quand je vais sur ma vue par défaut (sans argument ; url = http://monsite.com/vue), je vois un texte de présentation, et rien d’autre.
- Quand je passe des arguments à ma vue (url = http://monsite.com/vue/2006/12), j’affiche les nodes correspondants.
Je construis donc une vue avec arguments, je mets mon texte de présentation dans Header, mais comment faire pour que ma vue n’affiche strictement rien (d’autre que mon texte de présentation) lorsqu’elle n’a pas d’arguments ?
En effet, mes options lorsque les arguments sont activés mais qu’aucun n’est présent, sont d’afficher :
- Une erreur 404 (Page Not Found) ==> NE CONVIENT PAS
- Tous les nodes (All Values) ==> NE CONVIENT PAS
- Un résumé (Summary) ==> NE CONVIENT PAS
- Le contenu du champ «Empty Text» ==> POURRAIT CONVENIR, sauf que dans mon cas, ce champ DOIT contenir qqchose (et quand bien même j’utiliserais cette option, j’obtiens un message d’erreur)
Comment faire pour ne rien n’afficher du tout ? (bien sûr je pourrais tjours faire 2 pages séparées : la page de présentation et la view…)
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

et si dans le champ ‘empty text’ tu ne mets qu’un espace ?
ou du code html commenté ?
Bon, le message d’erreur, je sais pas trop…
yched@drupal.org
104
J’allais te proposer la deuxième option : créer une page et l’associé avec un alias à l’url /vue.
Damien Tournoud
808
et avec le module panels ?
kalis1@drupal.org
112
Merci pour vos réponses !
Les 3 solutions ont leurs avantages et leurs inconvénients :
Empty Text
Ca aurait pu marcher, mais je perds la fonctionnalité Empty Text, i.e. afficher un message personnalisé au cas où la vue ne trouve rien à afficher. C’est peu probable, donc pas trop gênant, mais si je l’utilise j’obtiens un msg d’erreur (voir plus bas), apparemment lié à l’utilisation du module i18n avec Views sur le site en question.
Page séparée
Là encore, ça aurait pu marcher : en effet, si je crée une page séparée avec l’alias «vue», mes URL fonctionnement bien de la façon suivante :
- vue ==> Renvoie vers la page
- vue/85 ==> Renvoie vers la vue
- vue/32 ==> Renvoie vers la vue
Autrement dit, l’alias «vue» est prioritaire sur la View «vue». On y presque, sauf que ça perturbe cpt le système de menu de Drupal, qui en gros perd la position de la page de présentation dans le menu (note : je pourrais tjours la rattacher au menu via le code).
Panels
J’imagine que tu veux dire un panel avec 2 «zones», 1 pour le texte de présentation, et 1 pour la vue. Mais dans ce cas, je retombe dans le 1er cas de figure : même si le texte de présentation n’est plus sur ma vue directement, ma vue elle, affiche toujours qqchose…
En tout cas, un grand merci. Je reconnais que je chipote, car il existe des solutions, même si elles sont moins élégantes/pratiques.
Cela dit, c’est un cas de figure assez fréquent quand on fait des sites : page d’intro de rubrique qui n’affiche qu’un texte de présentation, et quand on sélectionne des sous-rubriques (arguments) la page affiche les contenus (nodes) correspondants…
Message d’erreur généré par «Empty Text» :
user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LEFT JOIN i18n_node i18n ON node.nid = i18n.nid WHERE (i18n.language ='en' OR i1' at line 1 query: LEFT JOIN i18n_node i18n ON node.nid = i18n.nid WHERE (i18n.language ='en' OR i18n.language ='' OR i18n.language IS NULL) in /home/felisite/public_html/prod/cestquilechef.com/includes/database.mysql.inc on line 121.Vincent
Formations Drupal pour WEBMASTERS, DESIGNERS et DÉVELOPPEURS.
drupalfrance
1772