Jump to:

7939 Posts in 1472 Topics by 944 members

DataObjectManager Module

SilverStripe Forums » DataObjectManager Module » pb with dataobjectmanager testimonial example

Discuss the DataObjectManager module, and the related ImageGallery module.

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

Page: 1 2 3 4 5
Go to End
Author Topic: 3302 Views
  • UncleCheese
    Avatar
    4085 Posts

    Re: pb with dataobjectmanager testimonial example Link to this post

    Tu veux que le menu soit sur toutes les pages "Testimonial?"

    Sur Testimonial_show.ss, rajouter:

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

    En fait, il vaudrait la peine de mettre le contenu de "<% control Testimonials %> dans un "include" afin de ne pas te répéter sur les deux templates !

  • servalman
    Avatar
    Community Member
    211 Posts

    Re: pb with dataobjectmanager testimonial example Link to this post

    c'est ca oncle fromage

    en fait je n'est pas besoin d'une page supérieure affichant le menu mais juste que le menu soit présent sur chaque testimonial .
    je veux que quand on clique sur 'les temoignages' on arrive directement sur testimonial 1 qui a dans sa page le menu de tout les testimonials (pareil avec testimonial 2 etc.)

    Donc en fait j'essaie de n'avoir qu'une template Testimonial_show.ss qui inclus le menu général a chaque fois

    est ce possible d'écrire cela :

    <% control Testimonial %>
    $Quote
    <% end_control %>

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

    Merci bcp grace à toi j'avance et je comprend mieux enfin je crois

  • UncleCheese
    Avatar
    4085 Posts

    Re: pb with dataobjectmanager testimonial example Link to this post

    TestimonialPage_Controller:

    public function index() {
    return Director::redirect($this->Testimonials()->First()->Link());
    }

  • servalman
    Avatar
    Community Member
    211 Posts

    Re: pb with dataobjectmanager testimonial example Link to this post

    merci oncle fromage

    J'essaie cela demain car je dois partir et je te dis si j'ai réussis à faire fonctionner cela

    merci encore pour tout

  • servalman
    Avatar
    Community Member
    211 Posts

    Re: pb with dataobjectmanager testimonial example Link to this post

    Bonjour Oncle Fromage !

    Je viens d'essayer de réaliser ce dont nous avons parler hier en adaptant à mon cas mais sans succés, je ne doit pas être très doué
    J'espère que tu pourra encore m'aider un peu car cela me bloque bcp ..

    Je te remercie par avance encore et encore

    voici ou j'en suis :

    - Les données des Product s'affiche correctement dans la page Product
    - Les flashvar fonctionnes
    - Le menu Products ne s'affiche pas seul un lien s'affiche mais il ne dirige vers rien
    - Je n'arrive pas a donner comme texte aux lienx du menu la valeur Productname : <a href="$Link">$Productname $ID</a> (rien ne s'affiche).

    j'ai une page de redirection 'Products' qui renvoi sur la Page 01 donc le site tree ressemble à cela :

    PRODUCTS (redirector page>Product 01)
    -Product 01 (ProductPage)
    -Product 02 (ProductPage)
    -Product 03 (ProductPage)

    et comme nous l'avions évoqué je voudrait que sur chaque page Product les choses s'affiche ainsi

    -------------------- affichage Product X ------------------------

    Product 01 - <b>Product 02</b> - Product 03
    Productname 02
    Contenance 02
    Actifs 02
    Prix 02
    -------------------- affichage Product X ------------------------

    voici les codes que j'ai fait

    ---------------------- Product.php ------------------------------

    <?
    class Product extends DataObject
    {
       static $db = array (
          'Productname' => 'Text',
          'Imagename' => 'Text',
          'Presentation' => 'Text',
          'Contenance' => 'Text',
          'Actifs' => 'Text',
          'Price' => 'Text'
       );

       static $has_one = array (
          'ProductPage' => 'ProductPage'
       );

       public function getCMSFields_forPopup()
       {
          return new FieldSet(
             new TextField('Productname'),
             new TextField('Imagename'),
             new TextField('Presentation'),
             new TextField('Contenance'),
             new TextField('Actifs'),
             new TextField('Price')
             //new TextareaField('Quote')
             

          );
       }

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

    ---------------------- ProductPage.php ------------------------------

    <?
    class ProductPage extends Page
    {
       static $has_many = array (
          'Products' => 'Product'
       );

       public function getCMSFields()
       {
          $f = parent::getCMSFields();
          $f->addFieldToTab("Root.Content.Products", new DataObjectManager(
             $this,
             'Products',
             'Product',
             array('Productname'=>'Productname','Imagename'=>'Imagename','Presentation' => 'Presentation','Contenance' => 'Contenance','Actifs' => 'Actifs','Price' => 'Price'),
             'getCMSFields_forPopup'
          
          ));
          
          return $f;
       }

    }

       class ProductPage_Controller extends Page_Controller
    {

    public function index() {
    return Director::redirect($this->Products()->First()->Link());
    }

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

    }

    ----------------- ProductPage.ss --------------

    <!-- NAVIGATION PRODUCTS -->      
    <div id="ProductNav">      
    <% control ProductPage %>
    <% control Products %>
    <a href="$Link">Contenance $ID</a>
    <% end_control %>
    <% end_control %>
    </div>
    <!-- NAVIGATION PRODUCTS -->

    <!-- FICHE PRODUCT -->
    <div id="Product">      
    <% control Product %>
    Vous avez séléctioné le Product ci-dessous:
    $Productname </br>
    $Contenance </br>
    $Actifs </br>
    $Prix </br>
    <a href="$Product.Link">$Productname</a>
    <% end_control %>
    </div>
    <!-- FICHE PRODUCT -->

    <!-- ANIMATION FLASH -->
    <div id="Animation">
    <object width="450" height="600" type="application/x-shockwave-flash" data="assets/swf/raineditorial.swf">
    <param name="movie" value="assets/swf/raineditorial.swf" />
    <param name="quality" value="high" />
    <param name="wmode" value="opaque" />
    <!--<param name="flashvars" value=$flashvarFunction/>-->
    <!-- ANIMATION FLASH -->

  • UncleCheese
    Avatar
    4085 Posts

    Re: pb with dataobjectmanager testimonial example Link to this post

    Le seul problème que je vois est que tu as un template "ProductPage.ss", mais ça ne semble pas être utilisé. Avec le rédirigement dans index(), tous les requêtes se terminent à ProductPage_show.ss.

  • servalman
    Avatar
    Community Member
    211 Posts

    Re: pb with dataobjectmanager testimonial example Link to this post

    Bonjour Oncle Brie

    tout d'abord je veux te dire que les codes qui sont dans le post précedent sont les seuls que j'utilise tu as donc mon shémas complet

    J'ai renomé ma template' ProductPage.ss' en 'ProductPage_show.ss.'

    mais j'obtiens le même résultats :
    pas de menu avec les différents products dans la page

    les liens sont vides en regardant la source html :

    <a href="">retour</a>

    mon autre problème c'est de pouvoir introduire le $Productname dans ce menu des Products or si j'écris rien ne s'inscrit surement parce que le control <% control Product %> n'est pas inclus

    <!-- NAVIGATION PRODUCTS -->
    <div id="ProductNav">
    <% control ProductPage %>
    <% control Products %>
    <a href="$Link"><b>$Productname</b> $ID</a>
    <% end_control %>
    <% end_control %>
    </div>
    <!-- NAVIGATION PRODUCTS -->

    Je sens bien que je suis proche de la solution je n'arrive pourtant pas à faire fonctionner correctement.

    Je ne veux pas abuser de ton temps non plus

    merci

    T

  • UncleCheese
    Avatar
    4085 Posts

    Re: pb with dataobjectmanager testimonial example Link to this post

    Lorsqu'on crée un nouveau template, il faut faire un ?flush=1....L'as-tu fait?

    3302 Views
Page: 1 2 3 4 5
Go to Top

Want to know more about the company that brought you SilverStripe? Then check out SilverStripe.com

Comments on this website? Please give feedback.