Région content + affichage nodes non désiré

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 ne comprends pas une chose avec mon template page.tpl.php. Dans ce template, j'ai une région "content" dans laquelle j'insére deux blocs vues. Ces blocs comprennent certains articles de mon site.
Or, quand j'ouvre une des pages du site, je retrouve l'ensemble des nodes "taguées" à cette page puis mes 2 vues.
Comment puis je faire pour afficher simplement mes 2 blocs sans que la page reprennent auparavant toutes les nodes correspondantes ?

Merci pour votre aide.

Forum : 
Version de Drupal : 
Tags : 

Salut
Le bloc qui montrent l'ensemble des nodes taguées à cette page vient de où ?
C'est la page en elle même ou un bloc que tu as rajouté ?
Quels blocs as tu défini dans la région content de la page d'administration des blocs ? (admin/build/block) ?

Si je comprends bien, quand tu vas sur n'importe quelle page de ton site, tu as

  • les deux blocs crées avec le module 'views' qui listent certains articles de ton site (filtrées selon des filtres X & Y)-> Normal
  • un *bloc* qui se balade tout seul et qui met l'ensemble des 'nodes taguées à cette page' -> Pas normal

Est ce que tu peux m'expliquer ce que tu appelles l'ensemble des nodes taguées à cette page ? tu utilises la taxonomy ?
Avec un peu plus d'infos, on peut peut être y voir un peu plus clair.

Salut,

je vais pas te cacher que je ne comprends pas trop non plus d'ou vient le soucis.
Merci de m'aider à régler ce problème.

Pour répondre à tes questions :

1 > Si je comprends bien, quand tu vas sur n’importe quelle page de ton site, tu as
* les deux blocs crées avec le module ‘views’ qui listent certains articles de ton site (filtrées selon des filtres X & Y)-> Normal
* un bloc qui se balade tout seul et qui met l’ensemble des ‘nodes taguées à cette page’ -> Pas normal
Réponse > en effet j'ai bien mes 2 blocs créés dans views. Lorsque je vais dans la gestion des block je n'ai que ceux là dans ma région content.

2 > Est ce que tu peux m’expliquer ce que tu appelles l’ensemble des nodes taguées à cette page ? tu utilises la taxonomy ?
Réponse > J'utilise la taxonomy et le module taxonomy_menu pour gérer l'arborescence et la navigation de mon site. Lorsque je crée une node, je la range dans la bonne catégorie ou sous catégorie.

3 > Salut Le bloc qui montrent l’ensemble des nodes taguées à cette page vient de où ? C’est la page en elle même ou un bloc que tu as rajouté ?
Réponse > Le block n'existe pas, je ne sais pas d'ou vient l'affichage de mes nodes. C'est la page en elle même.

Je ne sais pas si cela peut t'aider à trouver la solution.
Merci encore.

Je n'utilise pas personnellement le module taxonomy_menu mais je te dis ce que je peux conclure de cette page http://chrisshattuck.com/blog/how-add-block-menu-tags-or-other-taxonomy-...

Il semblerait que quand tu cliques sur un terme de ta taxonomy il affiche, l'ensemble des nodes associées à ce terme (le problème que tu as).

Ce comportement est normal; si plusieurs articles sont associés à un terme de la taxo, comment Drupal est censé choisir quel node afficher quand tu cliques sur un terme ?

Dans le cas où il n'existe qu'un seul node attaché à un terme de la taxonomy, qu'affiche t-il ?

Selon moi, le comportement que tu as est normal car tu utilises la taxonomy pour ranger des contenus.

De cette constatation, deux autres questions :

  1. est ce que tu as déjà eu ce problème avant (avec le système de rangement par taxo)?
  2. pourquoi veux tu utiliser la taxonomy pour ranger tes nodes si a priori tu veux un menu 'classique'?

Pour info supplémentaire, au niveau de la page d'accueil j'ai aussi créé pour cette page une vue affichant mes articles. Encore une fois, avant mon bloc vue je retrouve un contenu non désiré. Pour l'accueil, j'ai le texte de présentation du site Drupal : "Bienvenue sur votre nouveau site....".

Donc ???? je suis un peu perdu là....

A priori, Drupal agit bien comme tu l'as configuré (un ordi, rien de plus con !).

Le rangement par taxonomy implique :

  1. une facilité de rangement... cette node parle de pommes, je l'a met sous le vocabulaire fruits/pommes... basta c'est fait (pourquoi s'em**erde* à ranger avant l'article machin, en sous menu de truc...)
  2. MAIS un rangement par boite : toutes les nodes qui parlent de pommes sont mises à la même enseigne : fruits/pommes...
    donc quand tu cliques sur la boite fruits/pommes, toutes les nodes parlant de fruits/pommes sont affichés, qu'importe leur origine, type...

Est ce que c'est compréhensible ?

Bon je débute sur Drupal et n'ai pas forcément les bons repères pour savoir comment avancer. Y'a déjà un bon point apparemment c'est que mes contenus sont bien rangés et logiquement rangés.

Le soucis est que pour mon site je dois faire appel à certaines données (articles) suivant la page active. J'ai donc utilisé des views pour arriver à mes fins. Cela fonctionne mais, comme tu le dis Drupal est bête et ne comprends pas que lorsque je place deux vues dans une région je veux que ces 2 vues.

J'ai bien une solution mais à mes yeux c'est de la bidouille et ça m'entraine d'autres porblèmes. Je peux virer dans mon template l'appel de la région "content" et appeler directement mes vues. Par contre pour certaines pages ça pose soucis, car je n'ai plus de zone "content" : exemple la page qui affiche tous les mots clefs.

Effectivement... si tu enlèves la variables $content de ton page.tpl.php... ça va poser problème quand tu auras besoin d'afficher le contenu...

je dois faire appel à certaines données (articles) suivant la page active

D'après ce que tu veux, il me semblerait plus logique :
- qu'il y ait une organisation par menu classique.
- que tes termes de taxonomy te servent de 'lien' entre les différentes nodes.

Comment faire ?

La page active a des termes de taxonomy...
d'autres pages partagent aussi ces termes de taxonomy...
Tu crées une views que tu affiches en block (ce que tu avais déjà fait)
en utilisant comme arguments les ids des termes de la taxonomy attachés à la page active (ce que tu as déjà fait aussi à mon avis)

Le code en php à mettre est :

$node = node_load(arg(1));
if($node && $node->taxonomy ) {
    $terms = array();
    foreach($node->taxonomy as $term) {
         $terms[] = (int) $term->tid;
     }
    return implode('+',$terms);
} else { return; }

En fait, ce qu'il te reste à faire, c'est organiser ton contenu de 'page active' avec le menu traditionnelle et de se baser sur ce menu pour la navigation.

Voici un petit lien :
http://drupaleasy.com/blogs/ryanprice/2008/06/using-views-2-drupal-6-cre...

C'est toute ta logique qui s'écroule, je peux comprendre que ça t'embête.
Hormis tout refaire (sic), tu vois un hic dans cette organisation ?

Ah en effet je tombe de haut là. Si le seul moyen est de ne plus passer par le module taxonomy_menu, toute mon organisation de contenu tombe à l'eau. :(
Le problème dans Drupal c'est qu'il y a 2 systèmes différents à la fois connecté et éloigné à mes yeux : le système de menu et la taxonomie.

Depuis plusieurs semaines je cherche à mettre en place une admin simple pour mon client (le client par nature ne comprend pas gd chose dc il faut faire simple), une admin ou le client ne doit pas rentrer 2 fois les mêmes infos pour chaque node. C'est à dire rentrer une seule fois l'info pour gérer le menu navigation et la taxonomie. J'avais donc utilisé le module taxonomy_menu qui me rendais bien service et simplifié grandement la gestion du contenu.

Maintenant, si l'affichage des pages devient ingérable avec la taxonomie tout se complique pour moi. Je vais arrêter là pour ce soir et reste un peu dubitatif pour la suite de mon développement. Je vais à nouveau réfléchir à ma gestion de contenus alors.

On va essayer de trouver une solution :

Quand veux tu que le contenu soit affiché, quand veux tu que tes deux blocs seuls soit affichés ? Surtout il y a t-il une règle derrière ta logique (par ex seul les contenus de type X doivent être affiché en tant que contenu, les autres types seront cachées)

on peut peut-être mettre des conditions pour l'affichage de $content en se basant sur cette règle...

Merci encore pour ton aide, cela ma fait trouver la solution. Comme tu le disais, Drupal réagit normalement au niveau de l'affichage des nodes, donc pas de soucis à ce niveau là.

La nuit a porté conseil et je crois avoir trouvé la solution. Au lieu d'utiliser des blocks pour générer mes affichages dans la région content, je fais tout simplement une vue dans une vue. Je crée une vue principale de type page qui affiche mon listing d'articles, puis j'intègre un attachment (une autre vue en qq sorte) qui me gère l'affichage de la node correspondante à la page active de taxonomie.
Ainsi, je n'ai plus de soucis. J'ai juste les éléments dont j'ai besoin dans ma page. Je peux garder ma région content sans problème.

Si qqn a le même problème et si je ne suis pas clair dans mes explications je peux réexpliquer ;).

Vi ayant travaillé avec d'autres cms avant ce n'est pas toujours bien simple de comprendre la logique Drupalienne. On y arrive progressivement, c'est un peu long parfois.

Merci encore pour ton aide qui m'a fait penser à certaines choses. ;)