Submitted by jmtrivial on
Bonjour,
J'ai créé un type de node (appelons-le nouvelle) qui contient un champ taxonomie (disons que le vocabulaire est équipe.
À chaque fois que je créé une nouvelle, elle est donc affectée à une équipe. J'aimerais que le chemin (path) et le menu (éventuellement) soit directement généré par l'identifiant (ou le titre) de la nouvelle, et par le nom de l'équipe.
Par exemple, si j'ai une nouvelle "On a acheté des stylos", et qu'on lui a attribué l'équipe "comptabilité", j'aimerais bien que l'URL soit un truc du genre http://exemple.com/equipes/comptabilite/nouvelles/on-a-achete-des-stylos
J'ai repéré pathauto, mais je ne comprends pas comment modifier le chemin en fonction de l'équipe qui aura été associée à mon node.
Pourriez-vous me suggérer une manière de résoudre ce dilemme ?
Bonjour, Il me semble que
Permalien Soumis par seb7 le 8 Septembre, 2010 - 11:59
Bonjour,
Il me semble que pathauto et les tokens vont pouvoir t'aider : (suppose que tu ai le module token activé).
Dans ton admin : /admin/build/path/pathauto , pour la ligne qui correspond à ton type de contenu, tu peux mettre quelque chose comme
[vocab-raw]/[termpath-raw]/[title-raw]
(attention, je débute, c'est peut-être pas parfait)
J’ai l’impression que ce
Permalien Soumis par jmtrivial le 8 Septembre, 2010 - 14:47
J'ai l'impression que ce genre de chose ne marche que pour définir le chemin d'un terme de taxonomie, et non d'un type (node)...
oui, mon message précédent
Permalien Soumis par seb7 le 8 Septembre, 2010 - 15:20
oui, mon message précédent n'était pas complet.
d'une part, le lien vers les catégories : (tiré de ma config).
En adaptant, ça marchera, ça fonctionne au poil chez moi.
Note, je n'ai qu'un seul niveau, je ne sais pas si c'est correcte pour plusieurs niveaux.
après moi, j'ai ajouté une vue pour la page 'news' (listing de l'ensemble des catégories + un bloc avec les catégories affichées) (les 2 réalisés avec view mais là on s'éloigne un peu du sujet
J’ai mis un peu de temps,
Permalien Soumis par jmtrivial le 9 Septembre, 2010 - 00:09
J'ai mis un peu de temps, mais ça marche nickel, je te remercie !
Il ne me reste plus qu'à régler la question du menu, j'aimerais avoir quelque chose de cohérent.
yep, de rien, je l’ai fais la
Permalien Soumis par seb7 le 9 Septembre, 2010 - 09:57
yep,
de rien, je l'ai fais la veille de ma première réponse.
Il y a peut-être d'autres façon de faire mais ça me parait assez logique comme ça.
A noter, il ne faut pas oublier de supprimer les alias déjà présent si vous faites de mauvaises manip avant.
Bye.
Et tu as réussi à configurer
Permalien Soumis par jmtrivial le 9 Septembre, 2010 - 16:01
Et tu as réussi à configurer un menu qui va avec, pour ne pas laisser les nouveaux nœuds tout seuls ? J'ai exploré différentes pistes, mais pour l'instant, rien n'est concluant...
hey, je vois qu’on fait fasse
Permalien Soumis par seb7 le 9 Septembre, 2010 - 16:17
hey, je vois qu'on fait fasse exactement aux mêmes problématiques !
J'ai failli poser une nouvelle question et je pense qu'il va falloir le faire car je n'ai rien trouvé de concluant non plus.
J'ai presque fait une vue mais il est possible de retrouver le parent d'un terme mais pas les enfants, je pense que je vais explorer cette piste car j'ai aussi tenté le module 'Taxonomy menu' mais il m'a pas l'air stable du tout (entrée dupliquées dès les premières manip). Donc je cherche aussi depuis le début d'après midi ...
Tiens moi au courant, si tu trouve ton bonheur (dans un autre sujet, pour pas faire le bazar...)
En apparté, J'ai mi en place le module Taxonomy breadcrumb pour le fil d'ariane justement, et lui fonctionne très bien.
Pour ma part, j’ai tenté de
Permalien Soumis par jmtrivial le 9 Septembre, 2010 - 16:26
Pour ma part, j'ai tenté de suivre les pistes offertes par menu_set_item, en m'inspirant d'une proposition trouvée ici http://drupal.org/node/369854 (il existe aussi une page détaillant la même idée en français). Mais ce n'est pas concluant. Tout semble bien marcher, je récupère mon item de menu, mais après l'affectation, le menu n'est pas mis à jour. Je suspecte que ça vient du fait que l'item de menu n'en est pas vraiment un (il est construit automatiquement)...
function montheme_preprocess_node(&$variables) {
// si c'est une news
$node = $variables['node'];
if ($node->type == "teamnews") {
// paramétrer le menu par défaut si besoin.
_set_default_menu_teamnews($node->path, $node->field_team[0]["view"], $node->title);
}
}
/
* Un menu est défini pour la plupart des items. Mais nous
* devons en définir un pour ceux qui n'en ont pas.
*/
function _set_default_menu_teamnews($path, $team, $title){
if (!node_has_menu($path)) {
$menu = _find_default_menu_teamnews($path, $team, $title);
}
}
// le node a-t-il un menu ?
function node_has_menu($path) {
$sql = "SELECT 'TRUE' FROM menu_links ";
$sql .= "WHERE menu_name IN ('navigation') AND ";
$sql .= "link_path = '%s'";
$result = db_result(db_query($sql, $path));
return $result;
}
/
* Ici, le menu par défaut existe. Vous pouvez trouver votre
* menu par défaut de différentes façons,
* par l'utilisation d'une taxonomy existante appliquée à un
* node ou par n'importe quel autre champ appliqué au node, ou
* même par une variable par défaut.
*/
function _find_default_menu_teamnews($path, $team, $title) {
$router_item = menu_get_item("team/".$team."/news/");
if($router_item) {
menu_set_item($path, $router_item);
}
}
En fait taxonomy_menu n’est
Permalien Soumis par seb7 le 10 Septembre, 2010 - 09:25
En fait taxonomy_menu n'est pas si mal, ça dysfonctionne un peu au départ, en particulier quand on change les options ou le menu dans lequel ce menu est présenté mais avec un nettoyage de base de données
DELETE FROM menu_links WHERE module = 'taxonomy_menu'
, on peut s'en contenter. (http://drupal.org/node/758198).
Voilà, on s'éloigne du sujet donc j'arrete sur ce point.