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.

DataObjectManager Module

Discuss the DataObjectManager module, and the related ImageGallery module.

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

pb with dataobjectmanager testimonial example


Reply

39 Posts   3672 Views

Avatar
servalman

23 June 2010 at 8:36pm Community Member, 211 Posts

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

24 June 2010 at 2:56am 4085 Posts

Tu veux que chaque Testimonial ait son propre page?

Avatar
servalman

24 June 2010 at 3:10am Community Member, 211 Posts

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

24 June 2010 at 3:36am 4085 Posts

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

24 June 2010 at 3:40am 4085 Posts

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

Avatar
servalman

24 June 2010 at 3:50am (Last edited: 24 June 2010 3:57am), Community Member, 211 Posts

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

24 June 2010 at 4:07am 4085 Posts

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

24 June 2010 at 4:15am Community Member, 211 Posts

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