CMS Automne http://www.automne-cms.org/forum/ |
|
Automne 3 3 2 - Applications http://www.automne-cms.org/forum/viewtopic.php?f=2&t=479 |
Page 1 sur 2 |
Auteur: | Edwin [ Lun Mars 30, 2009 5:22 pm ] |
Sujet du message: | Automne 3 3 2 - Applications |
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 |
Auteur: | Sébastien [ Mar Mars 31, 2009 9:45 am ] |
Sujet du message: | |
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. |
Auteur: | Edwin [ Mar Mars 31, 2009 8:24 pm ] |
Sujet du message: | |
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 |
Auteur: | Sébastien [ Mer Avr 01, 2009 9:23 am ] |
Sujet du message: | |
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 |
Auteur: | Edwin [ Mer Avr 01, 2009 10:24 pm ] |
Sujet du message: | |
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. |
Auteur: | Sébastien [ Jeu Avr 02, 2009 12:59 pm ] |
Sujet du message: | |
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. |
Auteur: | Edwin [ Jeu Avr 02, 2009 2:10 pm ] |
Sujet du message: | |
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. |
Auteur: | Sébastien [ Jeu Avr 02, 2009 2:22 pm ] |
Sujet du message: | |
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 |
Auteur: | Edwin [ Jeu Avr 02, 2009 3:12 pm ] |
Sujet du message: | |
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 |
Auteur: | Sébastien [ Jeu Avr 02, 2009 3:14 pm ] |
Sujet du message: | |
Ha oui j'ai oublié ce "détail" Content que ça t'aille |
Auteur: | Edwin [ Mar Avr 07, 2009 9:55 pm ] |
Sujet du message: | |
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 |
Auteur: | Sébastien [ Mer Avr 08, 2009 8:12 am ] |
Sujet du message: | |
Peux tu me poster le code de ta rangée que je puisse voir ça plus clairement ? |
Auteur: | Edwin [ Mer Avr 08, 2009 9:51 am ] |
Sujet du message: | |
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> |
Auteur: | Edwin [ Mer Avr 08, 2009 9:55 am ] |
Sujet du message: | |
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 |
Auteur: | Sébastien [ Mer Avr 08, 2009 10:13 am ] |
Sujet du message: | |
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 ? |
Page 1 sur 2 | Le fuseau horaire est UTC [Heure d’été] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |