Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

DataObjectManager Module /

Discuss the DataObjectManager module, and the related ImageGallery module.

Moderators: martimiz, UncleCheese, Sean, Ed, biapar, Willr, Ingo, swaiba

pb with dataobjectmanager testimonial example


Go to End


39 Posts   5939 Views

Avatar
servalman

Community Member, 211 Posts

23 June 2010 at 8:36pm

bonjour oncle fromage ;)

voila mon problème

J'arrive créer une page avec des 'testimonial' et leurs attributs :

testimonial 1 : Date1 Author1 Quote1
testimonial 2 : Date2 Author2 Quote2

Mais la page affiche alors tout les testimonials avec toutes les valeur 'Date Author Quote' :

--------------- affichage -------------
Date 1
Author 1
Quote 1

Date 2
Author 2
Quote 2
--------------- affichage -------------

Mais ce que je veux faire c'est avoir dans la page une sorte de menu des 'testimonials' et quand j'en sélectionne un j'affiche uniquement ces attributs par exemple

--------------- affichage -------------
testimonial 1 - testimonial 2
Date 2
Author 2
Quote 2
--------------- affichage -------------

ou

--------------- affichage -------------
testimonial 1 - testimonial 2
Date 1
Author 1
Quote 1
--------------- affichage -------------

J'espère être plus clair

et merci bcp pour ton aide

Avatar
UncleCheese

Forum Moderator, 4102 Posts

24 June 2010 at 2:56am

Tu veux que chaque Testimonial ait son propre page?

Avatar
servalman

Community Member, 211 Posts

24 June 2010 at 3:10am

exactement oncle fromage !

mais j'ai aussi besoin d'une sorte de menu (testimonial 1 - testimonial 2 ) pour accéder à ces pages j'ai une vague idée qu'il faudrait que chaque page soit référencer comme dataobject mais je ne sais pas comment m'y prendre du tout car même si j'ai compris le tutoriel je suis perdu quand il s'agit de remonter d'un niveau

merci encore pour ton attention car c'est un projet important pour moi

T

Avatar
UncleCheese

Forum Moderator, 4102 Posts

24 June 2010 at 3:36am

C'est une question commune.. La réponse courte est, ne pas créer test Testimonials avec DataObjectManager.. Créer-les au tant qu'une page pour chacune.

C'est bien facile quand même avec DOM.. seulement un petit peu de code.

Testimonial.php

public function Link() {
return $this->TestimonialsPage()->Link("show/$this->ID");
}

TestimonialsPage_Controller

static $allowed_actions = array (
'show'
);
public function show() {
return array (
'Testimonial' => DataObject::get_by_id("Testimonial",$this->urlParams['ID'])
);
}

Testimonial_show.ss

<% control Testimonial %>
Vous avez séléctioné le Testimonial ci-dessous:
$Quote
<a href="$TestimonialsPage.Link">Retour</a>
<% end_control %>

TestimonialsPage.ss

<% control Testimonials %>
<a href="$Link">Testimonial $Pos</a>
<% end_control %>

Je ne me souviens pas le nom de la relation "TestimonialsPage" sur "Testimonial".. j'en ai oublié... mais en tout cas, vérifier le $has_one sur Testimonial.php est corriger si nécessaire..

N'oblie pas le ?flush=1 !!

Avatar
UncleCheese

Forum Moderator, 4102 Posts

24 June 2010 at 3:40am

Correction: Remplacer tous les instances de "TestimonialsPage" avec "TestimonialPage".. j'arrive de lire le tutoriel, est j'ai nommé celui-là.

Avatar
servalman

Community Member, 211 Posts

24 June 2010 at 3:50am

Edited: 24/06/2010 3:57am

merci Oncle fromage

mais pour créer les attributs d'un testimonial : Author, Quote, etc. je peux utiliser DataObjectManager ?

car je le trouve trés pratique car au lieu d'avoir un tab par champs à remplir tout est sur la meme popup

merci encore encore encore encore...

Il faut que j'ajoute ces codes à mes codes existants ? c'est cela non ?
T

Avatar
UncleCheese

Forum Moderator, 4102 Posts

24 June 2010 at 4:07am

Oui, le code que je t'ai donné est pour DOM... Je comprends ce dont tu parles.. c'est trop de travail de créer une page nouvelle pour chaque Testimonial.

Avatar
servalman

Community Member, 211 Posts

24 June 2010 at 4:15am

trés cher oncle fromage

je viens d'essayé tes codes et cela semble fonctionner et je t'en remercie .

J'ai juste un dernier problème :

sur chaque page des testimonial j'ai un bouton retour pour revenir à ma page de selection des (template TestimonialsPage.ss ) mais ce que je voudrais arriver à faire c'est que chaque page de testimonial (template Testimonial_show.ss ) comprenne le 'menu' de selction .

Il faut que j'arrive à afficher les choses comme cela avec toujours le menu au dessus .

--------------- affichage -------------
<b>testimonial 1</b> - testimonial 2
Date 1
Author 1
Quote 1
--------------- affichage -------------

j'ai essayé d'inclure le code de Testimonial_show.ss dans la template de TestimonialPage.ss mais bien sur cela affiche tout

merci encore