Utiliser un preprocess pour forcer l'affichage d'un node sur un mode d'affichage particulier

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 à tous,

J'essaye de faire une version mobile d'un site que j'ai réalisé il y a quelques temps et je rencontre actuellement un problème que je n'arrive pas à résoudre.

État des lieux :

  • j'ai un domaine www.monsite.fr
  • J'ai un sous domaine m.monsite.fr qui pointe vers le répertoire principal.
  • J'ai installé le module Themekey (http://drupal.org/project/themekey) que j'ai paramétré de manière à basculer vers mon thème mobile lorsqu'un utilisateur se connecte à partir de l'URL m.monsite.fr
    -j'utilise le thème Display Suite (http://drupal.org/project/ds) pour mettre en forme mes nodes sur 2 colonnes, un header et un footer.

La question :

Autant pour les views je vais me débrouiller pour les dupliquer et faire en sorte que le menu du thème mobile pointe vers ces views, autant pour les nodes qui ne peuvent avoir qu'une URL, je ne sais pas comment faire pour les présenter sur une seule colonne...
La réponse pourrait être de lier un thème à un mode d'affichage (les mode d'affichages sont proposés nativement par Drupal : Défaut, Accroche, RSS) ou bien une URL (m.monsite.fr) à un mode d'affichage mais je n'ai pas trouvé le moyen de le faire...

Que pouvez-vous me proposer ?

Je vous remercie par avance,

Cordialement,

Thib

Forum : 
Version de Drupal : 

Bonjour,

Avec le module http://drupal.org/project/domain tu peux créer un multisite qui partage (ou non) theme, module et contenu.

L'idée est de créer un view_mode différent (mode d'affichage de ton node) : http://www.wunderkraut.com/blog/drupal-7-custom-node-view-modes/2010-12-20

Il existe après, beaucoup de solutions pour afficher ce contenu avec un view_mode spécifique. Tu peux par exemple créer un block avec views qui affiche ton contenu avec un view_mode specifique. Et ce block s'affichera uniquement pour un domaine.

Cordialement,

Merci pour ta réponse Florian,

Pour ce qui est du module Domain Access, je n'en ai pas vraiment besoin puisque le module Themekey me permet, en fonction du chemin utilisé (en l’occurrence www.monsite.fr ou bien m.monsite.fr) de basculer vers l'un ou l'autre des thèmes activés.
Pour ce qui est de la création du mode d'affichage, le module Display Suite s'en charge.

Par contre la deuxième partie de l'article sur http://www.wunderkraut.com me confirme ce que je pressentais un peu et c'est certainement sur ce point là que ça pêche...
Je vais devoir modifier le fichier template.php du thème mobile afin de faire du preprocess pour forcer le mode d'affichage et modifier le template node.tpl.php en conséquence mais alors là je ne maîtrise pas du tout.
Un petit coup de main ? ;)

Cordialement,

Thib

Bonjour à tous,

Je cogite encore sur la manière de procéder pour forcer le mode d'affichage mobile des nodes de mon type de contenu album_de_photos pour mon thème montheme.

Après quelques recherches, j'ai essayé ce code (placé dans le fichier template.php du thème :

function montheme_preprocess_node(&$variables){
  $node = $variables['node'];
  if($node->type == 'album_de_photos'){
    $variables['view_mode'] = 'mobile';
  }
}

or ça ne fonctionne pas...

Une âme charitable pourrait-elle m'aider à résoudre mon problème ?
Merci d'avance,

Cordialement,

Thib'

Bonjour,

je voulais savoir si tu avais trouvé une solution à ton problème, car cela m'intéresse. Utilisant Display Suite, j'aimerais aussi pouvoir forcer l'affichage d'un node sur un mode 'view_mode' particulier, autre que celui choisi par l'utilisateur lors de l'enregistrement, et sans passer par Views...

Cordialement,