module Matrix ne génère rien dans la page

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.

Une fois acceder à ma page avec le formulaire en tableau crée avec matrix, si je valide (aperçu ou soumettre) les données rentrées dans le tableau n'apparaisse pas. Le tableau n'ont plus. Il n'y a pas mention des données ou de balises pour tableau dans le source.

Le module fonctionne ainsi :
- on défini un type de contenu, une fois sélectionné le champs "matrix" via cck, on dispose d'un certain nombre de champs colonnes et de champs lignes auxquels on donne leur énoncé (ex. produits en colonne, et quantité et prix en ligne.).
- lorsque l'on crée ce type de contenu il affiche un tableau avec des champs à remplir à chaque croisement.
- lorsque l'on valide (afficher ou soumettre) il devrait afficher en tableau les données avec les énoncés des colonnes et des lignes. Mais il n'exporte rien.

J'ai besoin d'avoir ce genre de fonctionnalités : permettre à des contributeurs d'actualiser un tableau. Peut-être il y a t-il d'autre moyen ?

C'est génial ce champ matrix !! Si j'ai bien compris, c'est un champ de type "tableau" (de la même façon que tu as des champs Date, Image...).

Sais-tu comment on fait pour accéder ensuite aux données de ce tableau via PHP ? Et surtout, les données du tableau (de la matrix...) sont-elles exposées au module Views pour faire des requêtes dessus ?

Sinon, désolé, je ne sais pas pourquoi ça ne fonctionne pas.

Oui je pense. Je crois que c'est avec le module coTemplate que j'ai l'onglet (sous-menu) de l'édition de ce type de page. En tout cas dans ce sous-menu voici ce que je peux éditer :

<div class="field field-type-matrix field-field-les-frais-de-scolarit">
  <h3 class="field-label">Les frais de scolarité</h3>
  <div class="field-items">
    <?php foreach ((array)$field_les_frais_de_scolarit as $item) { ?>
      <div class="field-item"><?php print $item['view'] ?></div>
    <?php } ?>
  </div>
</div>

Trouves-tu ton bonheur ?

Pas tout à fait. :)

Le code que tu as mis permet d'afficher l'ensemble du champ matrix, je me demandais comment afficher juste une cellule de la matrice par exemple (utile si tu veux l'afficher autrement qu'avec l'affichage par défaut, ou additionner les chiffres d'une colonne...).

Quelque soit le filtre ça marche dans la partie back-office/admin/ajout de contenu mais pas dans le front-office/partie publique.
Mais c'est peut-etre seulement fait pour mettre des données dans la base de données. Mais alors il n'est pas expliqué comment réaccéder au données ensuite (pour répondre à la question de drupalfrance)

En fait c'est le code d'affichage qui est inadapté.
Je peut afficher une cellule avec $node->field_tableau[1][1] pour la première célulle.
Mais je souhaite automatiser l'affichage mais je maitrise pas bien les objet en php.

J'ai essayé :

    <?php foreach ((array)$field_tableau[1] as $item) { ?>
      <div class="field-item"><?php print $item['view'] ?></div>
    <?php } ?>

Mais cela ne m'affiche que la valeur "1".

J'ai aussi essayé :

    <?php foreach ((array)$field_tableau as $item) { ?>
      <div class="field-item"><?php print $item['view'] ?></div>
    <?php } ?>

Mais là cela n'affiche rien.

Quelqu'un a une idée ?

Je réponds à ma question :
Il faut faire un double foreach telque :

foreach ($field_tableau as $typepresta) {
     foreach ($typepresta as $presta) {
    print $presta ;
     }
}