Webmaster Hub: Drupal 7 et le multilinguisme - Webmaster Hub

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Drupal 7 et le multilinguisme Noter : -----

#1 L'utilisateur est hors-ligne   MarvinLeRouge 

  • Groupe : Hubmaster
  • Messages : 771
  • Inscrit(e) : 22-novembre 04
  • Genre:Homme
  • Localisation:Toulon

Posté 28 octobre 2011 - 16:05

Salut,

Je suis un newbie en Drupal, et j'ai de petits pbs de multilinguisme :

Question 1

  • sur ma page d'accueil, j'ai un bloc qui contient les 3 dernières actus, ainsi qu'un lien vers "toutes les actus"
  • je souhaite que l'intitulé et l'url de ce lien tienne compte du multilinguisme. Ex : href="/en/news", intitulé "All the news" si on est en anglais, href="/fr/actualites", intitulé "Toutes les actualités" si on est en français


$news_by_nid = drupal_lookup_path("source", "actualites", "fr");
$news_path = $language->language . "/" . drupal_get_path_alias($news_by_nid, $language->language);


J'ai cherché à récupérer le node id de la page en question dans une langue donnée grâce à drupal_lookup_path, et drupal_get_path_alias pour avoir le chemin équivalent dans la langue courante, mais apparemment je m'y prends mal, vu que ceci ne marche que pour la langue fournie à drupal_lookup_path.
Je suppose que c'est dû au fait que la page actus a un node id différent dans chaque langue.


Question 2 :

La page qui liste les actualités est logiquement une vue, puisque c'est une synthèse. Mais dois-je considérer que c'est une page standard (et multilingue), avec un titre notamment, qui inclut une vue (la liste des articles), OU que c'est une vue tout court (auquel cas comment gérer le problème de l'alias d'url différent suivant la langue) ?

Question 3 :

Je souhaite que la page qui liste les produits ait une pagination un peu spéciale; si le nombre total d'items est impair, c'est en page 1 qu'il doit y avoir un nombre impair (mettons 9) produits, et le premier doit être sur 2 colonnes (grâce à la classe css qui va bien). Comment obtenir ça, sachant que j'ai déjà eu l'occasion de tester le système de templates sur les vues ?


D'avance merci à celui qui m'expliquera ça.
Lorsqu'un lapin rouge naît, on le nomme Marvin, en mémoire de Marvin 1er qui détruisit la ville de Zautamauxime. Puis on le bannit car les lapins rouges, ça porte malheur.
0

#2 L'utilisateur est hors-ligne   Cariboo 

  • Motoriste amateur
  • Groupe : Direction
  • Messages : 3 297
  • Inscrit(e) : 26-août 03
  • Genre:Homme
  • Localisation:London N7
  • Société:Twenga

Posté 29 octobre 2011 - 10:05

Euh... qu'est-ce que tu utilises pour gérer le multilinguisme ? i18n, ou tu te débrouilles avec les champs et les vues de Drupal 7 ?

Sinon, si tu as le plugin pathauto, tu dois pouvoir utiliser le token [node:language] dans tes schémas d'urls. Cela ne marche que si la langue est déclarée systématiquement. Et tu peux donc créer un schéma d'url du type [node:language]/[node:title] ce qui a l'air de correspondre à ce que tu cherches à faire.

Les "tokens" sont dans le core de Drupal maintenant. Si tu veux avoir la liste des syntaxes de token utilisable, le meilleur moyen est d'installer le plugin "tokens" qui te donnera la liste des chaines token réutilisables dans tous les modules compatibles.

Sinon tu as cette liste, mais qui n'est pas complète :
http://drupal.org/no...upal7tokenslist
0

#3 L'utilisateur est hors-ligne   MarvinLeRouge 

  • Groupe : Hubmaster
  • Messages : 771
  • Inscrit(e) : 22-novembre 04
  • Genre:Homme
  • Localisation:Toulon

Posté 01 novembre 2011 - 18:24

Salut,

J'utilise i18n et pathauto. Ce que je cherchais à faire, c'est obtenir pour une page donnée, à partir de son alias dans la langue par défaut, son alias dans la langue courante. Typiquement, si une page a pour alias "actualites" dans la langue par défaut (fr), je souhaitais obtenir "news" (qui est l'alias de cette page dans la langue courante, à savoir "en").
J'ai pu le faire grâce à une fonction maison qui fait directement une requête sur la table node, mais je pense qu'il doit être possible de le faire "plus proprement".
Lorsqu'un lapin rouge naît, on le nomme Marvin, en mémoire de Marvin 1er qui détruisit la ville de Zautamauxime. Puis on le bannit car les lapins rouges, ça porte malheur.
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)