CMS Automne

Forum de la communauté du CMS Automne
Nous sommes actuellement le Dim Déc 22, 2024 8:17 am

Le fuseau horaire est UTC [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 19 messages ]  Aller vers la page 1, 2  Suivant
Auteur Message
 Sujet du message: Automne 3 3 2 - Applications
MessagePublié: Lun Mars 30, 2009 5:22 pm 
Hors-ligne

Inscrit(e) le : Sam Mars 07, 2009 2:04 pm
Message(s) : 10
Salut !

Voilà, j'ai une question sur la Gestion d'applications dans Automne. Je souhaiterais créer une application avec la possibilité de créer un Ordre dans les objets. Je veux dire par là que l'utilisateur pourrait choisir lui même l'ordre d'affichage des objets coté frontOffice grâce à une interface de glisser déposer en BackOffice.
Je demande cela car lorsque l'on crée les champs pour la création d'une application, on a la possibilité de choisir très facilement l'ordre de ces champs en cliquant sur l'icône à droite de la ligne et en faisant glisser le champ là où on veux qu'il soit.
Je veux reproduire exactement la même chose dans mon application.

Mes explications sont un peu confuses, mais je pense qu'une personne connaissant Automne devrait pouvoir m'éclairer avec ces éléments.

Merci :wink:


Haut
 Profil  
 
 Sujet du message:
MessagePublié: Mar Mars 31, 2009 9:45 am 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Mer Juin 15, 2005 8:28 am
Message(s) : 759
Localisation : Sophia Antipolis
Bonjour Edwin,

Tu ne peux gérer les ordres d'objets que dans un certain cas.

Il faut que tu ai une structure de ce type pour ton module :
Code :
- objet type 1
  |- objets type 2 (champ de type sous objet multiple)
  |  |- champ 1 de l'objet de type 2
  |  |- champ 2 de l'objet de type 2
  |  |- champ 3 de l'objet de type 2
  |  |- ....
  |- champ 2 de l'objet de type 1
  |- champ 3 de l'objet de type 1
  |- ...


Dans ce cas, l'ordre pour les sous-objets de type 2 de l'objet de type 1 sera organisable par drag and drop.

Essai de reproduire un module ayant une structure de ce type pour tester.


Haut
 Profil  
 
 Sujet du message:
MessagePublié: Mar Mars 31, 2009 8:24 pm 
Hors-ligne

Inscrit(e) le : Sam Mars 07, 2009 2:04 pm
Message(s) : 10
J'ai fait le test que tu as indiqué. Je suis arrivé à un résultat, mais ce n'est pas tout à fait ce que je souhaite.
Actuellement quand je modifie mon Objet1, je peux lui associer un ou plusieurs Objet2. Cette opération se fait de la façon suivante :
à gauche une liste des Objet2 disponibles, et à droite une liste des Objet2 associés à mon Objet1. Pour passer d'une liste à une autre, on utilise les boutons "Flèches" situés entre les 2 listes.
Ce que je souhaite faire (si c'est possible) c'est donner la possibilité à l'utilisateur de faire glisser un Objet2 où il le souhaite dans la liste des Objet2 associés afin d'en choisir l'ordre.
Cette façon de procéder existe déjà dans le Gestionnaire des Applications :
Elle est possible lorsque l'on choisit l'ordre des champs d'un objet. Une colonne Ordre existe dans le tableau qui liste les champs.

Pas simple à expliquer :?


Haut
 Profil  
 
 Sujet du message:
MessagePublié: Mer Avr 01, 2009 9:23 am 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Mer Juin 15, 2005 8:28 am
Message(s) : 759
Localisation : Sophia Antipolis
Edwin,

Les objets entre eux n'ont pas d'ordre. Seuls les sous objets d'un objet peuvent se voir attribué un ordre.
A l'heure actuelle, je n'ai pas d'autre possibilité d'ordonner des objets entre eux que ce que je t'ai décrit plus haut.

Seb


Haut
 Profil  
 
 Sujet du message:
MessagePublié: Mer Avr 01, 2009 10:24 pm 
Hors-ligne

Inscrit(e) le : Sam Mars 07, 2009 2:04 pm
Message(s) : 10
Je ne veux ordonner que les sous objets, c'est à dire mes Objet2 qui sont des sous objets de mon Objet1.

Le but est de mettre les objet2 dans l'ordre souhaité le plus facilement possible pour l'utilisateur. Je cherche à reproduire exactement le même comportement qui existe dans le Gestionnaire d'Applications lorsque l'on ordonne les champs composant un Objet. Dès que l'on réalise une modification de l'ordre des champs, un bouton "Sauvegarder le nouvel Ordre" apparaît.


Haut
 Profil  
 
 Sujet du message:
MessagePublié: Jeu Avr 02, 2009 12:59 pm 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Mer Juin 15, 2005 8:28 am
Message(s) : 759
Localisation : Sophia Antipolis
ok mais coté front office je n'ai rien qui puisse faire ça "en standard". C'est tout à développer.
Tu peux te servir comme exemple de ce qui est fait coté admin (code HTML et librairies JS) en repostant un formulaire comportant les données du nouvel ordre similaires à ce qui est fait coté admin. Il faut aussi que tu créé le contrôleur PHP qui réceptionnera ces données postées par le formulaire pour les enregistrer ensuite.
C'est possible à faire mais ce n'est pas un petit travail et ça demande de comprendre la structure de fonctionnement du Polymod et d'avoir les connaissances en PHP et Javascript nécessaire. Pour l'instant je n'ai pas de doc pour tout ça, ça viendra avec la sortie de la version finale d'Automne 4 (mi-2009) mais de toute manière ça ne couvrira pas tous les points nécessaires pour faire quelque chose d'aussi spécifiques que ça.

Tu peux aussi faire appel à WS Interactive directement pour obtenir un devis pour la réalisation de cette prestation.

Si tu veux te lancer dans le dev, je peux t'indiquer plus précisément les fichiers à étudier pour reproduire le fonctionnement de l'admin.


Haut
 Profil  
 
 Sujet du message:
MessagePublié: Jeu Avr 02, 2009 2:10 pm 
Hors-ligne

Inscrit(e) le : Sam Mars 07, 2009 2:04 pm
Message(s) : 10
Merci Sébastien pour ta réponse. Mais désolé, j'ai mal expliqué :

En parlant d'utilisateur, je parlais d'une personne qui édite le site coté back office. La modification avec le glisser/déposer dont je parle est faite dans l'application coté Back Office. C'est là que l'ordre des Objet2 est spécifié.
Coté Front Office, il n'y a rien à faire à part d'afficher le résultat.

Pour partir sur un exemple plus concret :
Je crée une application "Poissons" grâce au Gestionnaire d'Applications.
Les objets de l'application sont :
- des Objets (Ressource Primaire) "Eau Douce", "Exotiques", "Tropicaux", ...
- des Objets (Ressource Secondaire) : "Guppy", "Black Molly", "Velifera", "Platy", ...

Cet objet (Primaire) est lié à un objet (Secondaire) via un champ Objets Multiples.

Je souhaite que le système glisser/déposer permettant de mettre dans l'ordre les champs (celui existant dans le gestionnaire d'applications via le bouton "valider le nouvel ordre") soit le même pour la personne qui entre le contenu dans l'application lorsqu'elle veut choisir l'ordre des poissons exotiques par exemple. Cet ordre sera celui dans lequel les poissons exotiques, par exemple, apparaitront ensuite sur le Front Office grâce à un bloc que je ferai pour celà.

Mon Objet 1 est le type de poisson, mon Objet 2 est la race du poisson.


Haut
 Profil  
 
 Sujet du message:
MessagePublié: Jeu Avr 02, 2009 2:22 pm 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Mer Juin 15, 2005 8:28 am
Message(s) : 759
Localisation : Sophia Antipolis
ok, donc je reprends ce que j'avais dit au départ : il n'est possible que de gérer l'ordre des sous objets de l'objet 1. Lorsque tu édite ton objet 1, tu peux y insérer tes objets 2 et gérer leur ordre par glisser/déposer. Cette fonction existe déjà dans le polymod.

La marche à suivre est donc :
- Créer ton objet 2
- Editer l'objet 1 pour y ajouter l'objet 2
- Modifier l'ordre de l'objet 2 dans l'objet 1


Haut
 Profil  
 
 Sujet du message:
MessagePublié: Jeu Avr 02, 2009 3:12 pm 
Hors-ligne

Inscrit(e) le : Sam Mars 07, 2009 2:04 pm
Message(s) : 10
Merci, j'ai trouvé. Je faisais bien ce que tu disais, simplement dans mon champ Objets multiples, "Ces objets peuvent être édités ?" était sur Non. Je l'ai passé sur Oui, et cela fonctionne : j'ai le même glisser/déposer que dans le Gestionnaire d'Application.

Merci pour ton aide :D


Haut
 Profil  
 
 Sujet du message:
MessagePublié: Jeu Avr 02, 2009 3:14 pm 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Mer Juin 15, 2005 8:28 am
Message(s) : 759
Localisation : Sophia Antipolis
Ha oui j'ai oublié ce "détail" :P
Content que ça t'aille :D


Haut
 Profil  
 
 Sujet du message:
MessagePublié: Mar Avr 07, 2009 9:55 pm 
Hors-ligne

Inscrit(e) le : Sam Mars 07, 2009 2:04 pm
Message(s) : 10
Maintenant que j'y suis arrivé, je souhaiterais afficher cela sur le coté Front.
J'y arrive, mais le problème c'est que je souhaiterais afficher les pages de résultats en les limitant à 9 poissons par page.
En fait j'ai un premier search qui affiche la liste des espèces, puis un deuxième search qui affiche les poissons de l'espèce sélectionnée via une variable passé dans l'url.
Créer des pages pour la liste des espèces c'est très simple.
Par contre créer des pages pour les objets multiples d'une espèce c'est plus compliqué :) .
Je pensais utiliser un {var:array:resultats} pour stocker les résultats, mais je ne sais pas l'utiliser. Avec un array, je n'aurais qu'à utiliser des variables pour calculer les pages et les objets à afficher.

De l'aide sur les Array ? Où une solution plus simple peut-être :roll:


Haut
 Profil  
 
 Sujet du message:
MessagePublié: Mer Avr 08, 2009 8:12 am 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Mer Juin 15, 2005 8:28 am
Message(s) : 759
Localisation : Sophia Antipolis
Peux tu me poster le code de ta rangée que je puisse voir ça plus clairement ?


Haut
 Profil  
 
 Sujet du message:
MessagePublié: Mer Avr 08, 2009 9:51 am 
Hors-ligne

Inscrit(e) le : Sam Mars 07, 2009 2:04 pm
Message(s) : 10
Le code :
Code :
<row>
   <block module="Aquarium" id="aqua" language="fr">
      <div id="searchresult">
         <atm-xml what="{request:string:out} == 'xml'">
            <atm-search what="{Especes}" name="searchEspeces">
               <atm-search-order search="searchEspeces" type="{Especes:Titre:fieldID}" direction="asc" />
               <atm-result search="searchEspeces">   
                  <div class="espece">
                     <a href="{page:self:url}?espece={Especes:Titre:value}">{Especes:Titre:value}</a>                     
                  </div>      
               </atm-result>
               <atm-noresult search="searchEspeces">Aucune Espèce n'est disponible pour le moment</atm-noresult>
            </atm-search>
            <atm-search what="{Especes}" name="searchPoissons">
               <atm-result search="searchPoissons">
                  <div class="poissons">
                     <atm-loop on="{Especes:Poissons:fields}">
                        <atm-if what="{Especes:Titre:value}=={request:string:espece}">
                           <div class="poisson">
                              {Especes:Poissons:Poisson:Image:imageHTML}
                              <div class="title">{Especes:Poissons:Poisson:Image:label}</div>
                           </div>
                        </atm-if>
                     </atm-loop>
                     <br/>
                  </div>      
               </atm-result>
               <atm-noresult search="searchPoissons">Aucun Poisson n'est disponible pour le moment</atm-noresult>
            </atm-search>
         </atm-xml>
      </div>
   </block>
</row>


Haut
 Profil  
 
 Sujet du message:
MessagePublié: Mer Avr 08, 2009 9:55 am 
Hors-ligne

Inscrit(e) le : Sam Mars 07, 2009 2:04 pm
Message(s) : 10
Et la structure de mon module :

un objet Especes (ressource primaire) :
- Titre (chaine de caractères 255)
- Poissons (objets multiples)

un objet Poisson (ressource secondaire) :
- Image (Image)
paramètre : Utilisation de l'objet par Espèces


Haut
 Profil  
 
 Sujet du message:
MessagePublié: Mer Avr 08, 2009 10:13 am 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Mer Juin 15, 2005 8:28 am
Message(s) : 759
Localisation : Sophia Antipolis
ok, déjà, je te propose plutôt de faire ça (modification faite de tête, donc j'ai ptet fait une erreur) :
Code :
<row>
   <block module="Aquarium" id="aqua" language="fr">
      <div id="searchresult">
         <atm-xml what="{request:string:out} == 'xml'">
            <atm-search what="{Especes}" name="searchEspeces">
               <atm-search-order search="searchEspeces" type="{Especes:Titre:fieldID}" direction="asc" />
               <atm-result search="searchEspeces">   
                  <div class="espece">
                     <a href="{page:self:url}?espece={Especes:id}">{Especes:Titre:value}</a>                     
                  </div>     
               </atm-result>
               <atm-noresult search="searchEspeces">Aucune Espèce n'est disponible pour le moment</atm-noresult>
            </atm-search>
         
         <atm-search what="{Especes}" name="searchPoissons">
               <atm-search-param search="searchPoissons" type="item" value="{request:int:espece}" mandatory="true" />
            <atm-result search="searchPoissons">
                  <div class="poissons">
                     <atm-loop on="{Especes:Poissons:fields}">
                        <div class="poisson">
                           {Especes:Poissons:Poisson:Image:imageHTML}
                           <div class="title">{Especes:Poissons:Poisson:Image:label}</div>
                        </div>
                     </atm-loop>
                     <br/>
                  </div>     
               </atm-result>
               <atm-noresult search="searchPoissons">Aucun Poisson n'est disponible pour le moment</atm-noresult>
            </atm-search>
         </atm-xml>
      </div>
   </block>
</row>


Pour filtrer l'affichage des poissons selon l'espèce sélectionnées ça sera plus propre. Ensuite, si j'ai bien compris, tu veux paginer l'affichage des poissons (dans le tag atm-loop) par lot de 9, c'est bien ça ?


Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 19 messages ]  Aller vers la page 1, 2  Suivant

Le fuseau horaire est UTC [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 63 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Recherche de:
Aller vers :  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduit par Maël Soucaze et Elglobo © phpBB.fr