Submitted by monolithe on
Bonjour,
Voila je me demandais si c'était possible de faire une view en tableau de 2 colonnes et dans chaque colonne y afficher plusieurs données par case.
Ex:
première colonne | deuxième colonne
titre | date
photo | catégorie
Au lieu d'avoir une colonne pour chaque données.
J'ai regarder avec template wizard et active template mais soit je ne comprend pas le système soit c'est juste pour mettre en page un node d'une view et pas toute la view complète.
Merci d'avance !
Thomas
Avec un type d'affichage
Permalien Soumis par Numerizen le 14 Mars, 2009 - 19:06
Avec un type d'affichage 'Table', tu ne parviens pas à faire ce que tu veux ?
Sinon : http://drupal.org/project/views_bonus qui donne des options supplémentaires pour l'affichage des données des vues.
Views2 a des tas d'options un peu partout, et il faut vraiment regarder de près avant de conclure qu'il ne peut pas faire ceci ou cela.
Je suis sur drupal 5 donc
Permalien Soumis par monolithe le 14 Mars, 2009 - 21:29
Je suis sur drupal 5 donc views 1 et j'ai test déjà pas mal de chose, j'ai testé aussi ce matin bonus pack avec grid ou les type de vue panel mais pas moyen de mettre plusieurs fields dans une même colonne (titre photo à gauche et date/taxonomy a droite)
Ca fait une semaine que je suis la dessus, tkt si j'ai mis ce message c'est aprce que je suis un peu désespéré...
Au ait il faudrait que je récupère le code template de la vue en tableau de base de view et que je l'a modifie mais je ne sais pas trop comment faire.
J'ai trouvé ce lien je vais regarder à ca lundi.
http://drupal.org/node/128741
Voila après quelques
Permalien Soumis par monolithe le 17 Mars, 2009 - 22:13
Voila après quelques recherche j'ai trouvé ce que je souhaitais en repartant du tuto dont j'ai mis le lien juste au dessus.
Je suis arrivé a tout afficher sauf le champ image et le champ taxonomy....
j'essaye toutes les formes proposées par contentemplate et active template mais rien ne fonctionne...
Quelqu'un aurrait une idée svp?
function phptemplate_views_view_table_lieux($view, $nodes, $type) {
$table = array();
foreach ($nodes as $i => $node) {
$node = node_load($node->nid);
$user = user_load(array('uid' => $node->uid));
$table[] = array('<div>' . $node->field_image_fid [0] ['view'] . '</div><div>' . l($node->title, 'node/'. $node->nid) . '</div><div>' . $node->taxonomy ['name'] . '</div><div>' . $node->field_description_courte [0]['value'] . '</div>', '<div> Places réceptions :' . $node->field_place_reception [0]['value'] . '</div><div> Places assises :' . $node->field_place_assise [0]['value'] . '</div><div> Logement :' . $node->field_logement [0]['value'] . '</div><div> Traiteur :' . $node->field_traiteur [0]['value'] . '</div><div> Incentive :' . $node->field_incentive [0]['value'] . '</div>' );
}
return theme_table(array('Annonces', 'Détails'), $table);
}
Je met juste le code qui ne marche pas ici :
$node->field_image_fid [0] ['view']
$node->taxonomy ['name']
Merci d'avance
J'ai finalement réussit a
Permalien Soumis par monolithe le 19 Mars, 2009 - 14:40
J'ai finalement réussit a faire ce que je voulais en utilisant le type de vue "selected field" du module "active template" et en collant ce code dans le template de cette vue
<table>
<thead>
<tr>
<th class="view-cell-header view-field-term-data-name"> Annonces </th>
<th class="view-cell-header view-field-node-data-field-image-field-image-fid"/> Détails</th>
</tr>
</thead>
<tbody>
<?php
foreach ( $nodes as $node ) {
print "<tr style = "border-bottom: 1px solid red;"><td style = "width: 400px;">";
print $node -> node_title [ 'value' ][ 'view' ] ;
print $node->term_data_name['value']['data'] ;
print $node->node_data_field_image_field_image_fid['value']['view'];
print $node->node_data_field_description_courte_field_description_courte_value['value']['view'] ;
print "</td><td style = " vertical-align:top;">";
print $node->node_data_field_place_assise_field_place_assise_value['value']['view'] ;
print $node->node_data_field_place_reception_field_place_reception_value['value']['view'] ;
print $node->node_data_field_logement_field_logement_value['value']['view'] ;
print $node->node_data_field_traiteur_field_traiteur_value['value']['view'] ;
print $node->node_data_field_incentive_field_incentive_value['value']['view'] ;
print "</td></tr>";
}
?>
</tbody>
</table>
On est tenté, hein, de
Permalien Soumis par ZafX le 21 Mars, 2009 - 14:24
On est tenté, hein, de revenir aux bonnes vieilles tables. Un truc que j'aime bien avec drupal, c'est qu'ilo est pas construit sur des tableaux, comme certains autres gestionnaires de contenu. En fait, j'essaye de me conformer aux conseilles du w3c et d'utiliser au max les div il y a le modèle de div en tables mais j'en ai pas été très content. Au niveau du code html... Bah... autant faire un tableau, le code est plus simple.
Mais bon, j'ai réussi, là, à faire ce que je voulais avec des flottants, le seul hic, c'est que je n'arrive pas à m'affranchir complètement des tailles fixes (spécifiée en pixel au lieu de pountages) pour les images de background notamment. Mais on peut faire à peu près tout en div au lieu d'utiliser des tableaux sur drupal (je précise sur drupal parcequ'avec npds que j'utilise sur un autre site, qui est, lui, basé sur des tableaux, j'ai jamais réussi).
Les tables, ce n'est pas non
Permalien Soumis par Numerizen le 21 Mars, 2009 - 17:09
Les tables, ce n'est pas non plus le mal absolu. Quand on a des données séquentielles qui doivent être présentées en tableau, la table HTML est naturelle.
Ce qui est mal, c'est d'utiliser les tables pour faire du layout, alors que ce n'est pas fait pour ça. Pendant longtemps, on n'avait pas le choix il faut dire.
C'est vrai que pour faire un
Permalien Soumis par ZafX le 21 Mars, 2009 - 19:33
C'est vrai que pour faire un tableau, c'est plus pratique. J'ai la tête dans les css jusqu'aux genoux, là alors je me barre un peu vite en sucette...