[PROJET SPX] booster pluxml

je-evrardje-evrard Member
juin 2016 modifié dans Plugins
[h]PROJET SPX 5 AVEC PLUCSS ET PLUXML 5.5[/h]

home.png

Site SPX
Forum SPX
Blog SPX

Le projet spx a pour but de créer un ensemble de plugins homogènes afin de pousser pluxml hors de ses limites.

Demo SPX (version 5): La démo du projet SPX montre les possibilités des plugins spx dans un pluxml 5.5 déja installé.
Demo et téléchargement : demo-spx

Les consignes sont les suivantes pour utiliser la démo :
[list=*]
[*]Connection administration --> login : demo - passe : demo[/*]
[/list]

La démo comprends :
[list=*]
[*]Les widgets spx deja installés[/*]
[*]Un ensemble de shortocdes (contact, archives, breadcrumb, recommandations, posts récents, statistiques + pleins de surprises...[/*]
[/list]
«1345

Réponses

  • DenDen Member
    @je-evrard,

    Félicitations pour ton plugin, dans l'ensemble de ce que j'ai vu, ça me semble très innovant. ;)
    En ce qui concerne le site Web démo, visuellement, pas un mot à dire, mais pour la validation W3C du code, j'ai fait le calcul des erreurs de l'ensemble des pages, 181 erreurs... :8
  • Woooot !

    Alors là mon petit gars, tu as fait fort !
    Ce plugin est un couteau suisse énorme et je pense qu'il va rendre pas mal de services !
    Du très très beau boulot ! ;)
  • On peut avoir un lien pour le télécharger ?

    J'ai quand même l'impression que tu as complètement réécrit le moteur de pluxml. Tu n'utilises plus les pages articles d'origine ou je me trompe ???
  • je-evrardje-evrard Member
    juin 2013 modifié
    Salut,

    En fait c'est pas fini donc pour le télécharger ce sera pour un peu plus tard.

    Je n'ai rien touché a pluxml au niveau de son moteur.

    J'ai mon plugin qui me permet de recorder n'importe quel type de données dans des tables (spxdatas)

    Et d'un autre coté j'ai rajouté mais ça c'est perso un dossier "spx/ "sur le root de pluxml afin de faire la liaison entre mon template et les datas de mon plugin.
    Comme ça je fais ce que je veux. Je peux utiliser le systeme de plum, le mien ou les deux (a venir notammernt pour gérer des menus dynamiques pour les catégories de plum)

    En gros pour cette démo on a les choses suivantes :
    - le plugin spxdatas activé
    - un dossier data/spxdatas/ pour les record des données (configurable dans le plugin spxdatas)
    - le plugin spxlibrairy (permet d'ajouter des librairy coté admin jquery / jqueryui / tinymce...) c'est un autre plugin que j'ai créé.
    - mon repertoire spx/ comprenant des librairy php de widget (menu, portfolio, price, ...) - liaison entre spxdatas et un output html du template
    - un template particulier avec des pages php. Je rentre pas dans le détail mais je peux générer des shorcodes des widget (voir wordpress shorcodes)


    Le plugin peut etre utilisé de mille et une façon :
    - juste pour faire des get de données avec le moteur actuel et sans rien d'autre.
    - avec mon système
    - avec un autre système...

    Bref, c'est pas fini et j'ai du boulot pour intégrer justement le coté article catégorie de plum ainsi que les url.

    Entre nous j'ai pas écrit ça en 5 minutes et j'ai eu une grosse réflexion sur le sujet car cela me paraissait très intéressant. J'en avais marre de voir tel ou tel plugin recorder tel ou tel choses. Pour le client en plus c'est bien car tout est centralisé au meme endroit dans le meme plugin.
    Je vais meme voir pour faire un système de newsletter juste en le décrivant dans la base...

    J'ai voulu le couteau suisse du plugin. Tu décris que tu veux et puis tout se fait tout seul sans se poser de question. C'est du générique 100% :) qui peux avoir ses limites :( .


    Merci de voir que ça vous intéresse en tout cas.

    A+

    PS : je vous tiens au courant dès que j'ai une version 1.0 du plugin.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Salut
    Sacré boulot... et même si je vois en gros le fonctionnement du plugin, ça reste un peu nébuleux (et peut etre aussi pour les autres personnes qui te lisent), car ton plugin semble très complet (même si tu dis avoir encore des choses à réaliser) et malgré la description que tu en fais je ne suis pas sur d'en comprendre (ou en tout cas d'en mesurer) toutes les subtilités, justement parce que tu as été très loin dans la réflexion et dans la réalisation. C'est vraiment très interressant ce que tu as fais et ça ouvre de très grandes portes sur la modularité avec une gestion centralisée.

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • je-evrardje-evrard Member
    juin 2013 modifié
    Salut Stéphane,

    Content de t'écrire. En fait , c'est pas évident à expliquer mais je vais essayer de faire simple :

    - le plugin spxdatas génère une administration automatiquement fonction d'un fichier de description au format xml pouvant se trouver dans data/spxdatas/base.xml (selon le path de la config du plugin)

    L'administration spécifique du site de demo racingshoots est décrite uniquement grace à ce fichier xml:
    [== XML ==]
    <?xml version="1.0" encoding="UTF-8"?>
    <document>
    	<!--EXEMPLE
        <table number="001" name="testimonial" maxparam="5" tableuserlevel="0,1,2,3,4" tableuserinclude="" tableuserexclude="" >
    		<description><![CDATA[Rubrique 1]]></description>
    		<profil></profil>
    		<column>
    			<parameter name="name" type="cdata" option="textinput/15/20"></parameter>
                <parameter name="surnname" type="cdata" option="textinput/15/20"></parameter>
    			<parameter name="categorie" type="string" option="liste/auteur_categorie/title"></parameter>
    			<parameter name="telephone" type="numeric" option="textinput/10/20"></parameter>
    			<parameter name="image" type="cdata" option="image"></parameter>
    			<parameter name="image2" type="cdata" option="image"></parameter>
    			<parameter name="description" type="cdata" option="textarea/10/3"></parameter>
    			<parameter name="actif" type="numeric" option="boolean"></parameter>
                            
    		</column>
    	</table>
    	-->
        <!--LOCALISATION-->
        <table number="001" name="localisation" maxparam="4" groupe="configuration" rightCMDuser="003:000">
    		<description><![CDATA[Les textes de votre site]]></description>
    		<column>
    			<parameter name="code" type="cdata" option="textinput/20/30"></parameter>
    			<parameter name="content" type="cdata" option="textarea/20/5"></parameter>
                
    		</column>
    	</table>
    	<!--PAGES-->
        
        <table number="001" name="menu" maxparam="4" groupe="organigramme" order="true" tableuserlevel="0" tableuserinclude="001,003" rightCMDuser="003:000">
    		<description><![CDATA[Les pages du menu]]></description>
    		<column>
    			<parameter name="title" type="cdata" option="textinput/20/30"></parameter>
    			<parameter name="page" type="cdata" option="liste/page/title"></parameter>
                <parameter name="level" type="cdata" option="liste/menu_level/title"></parameter>
                <parameter name="actif" type="numeric" option="boolean"></parameter>
    		</column>
    	</table>
        <table number="002" name="menu_level" maxparam="3" groupe="organigramme" tableuserlevel="0" tableuserexclude="001,003" rightCMDuser="003:000">
    		<description><![CDATA[Les niveaux du menu]]></description>
    		<column>
    			<parameter name="title" type="cdata" option="textinput/10/20"></parameter>
                <parameter name="code" type="cdata" option="textinput/10/20"></parameter>
    		</column>
    	</table>
        
        <table number="003" name="page" maxparam="5" groupe="organigramme" order="true" tableuserlevel="0" tableuserinclude="001,003" rightCMDuser="003:000">
    		<description><![CDATA[Les pages du site]]></description>
    		<column>
    			<parameter name="title" type="cdata" option="textinput/10/20"></parameter>
    			<parameter name="template" type="cdata" option="textinput/30/40"></parameter>
                <parameter name="parameters" type="cdata" option="textinput/30/40"></parameter>
    			
                 <parameter name="content_top" type="cdata" option="textarea/20/5"></parameter>
                 <parameter name="content_down" type="cdata" option="textarea/20/5"></parameter>
                 <parameter name="description" type="cdata" option="textarea/20/3"></parameter>
    			
    			
    		</column>
    	</table>
       
         <!--FLEX SLIDER-->
    	<table number="005" name="flex_slider" maxparam="6" groupe="widget" rightCMDuser="003:000">
    		<description><![CDATA[Votre flex slider]]></description>
    		<column>
    			<parameter name="title" type="cdata" option="textinput/10/20"></parameter>
                <parameter name="content" type="cdata" option="textarea/20/3"></parameter>
    			<parameter name="image" type="cdata" option="image"></parameter>
    			<parameter name="actif" type="numeric" option="boolean"></parameter>
                <parameter name="category" type="cdata" option="checkboxliste/flex_slider_category/title"></parameter>
    		</column>
    	</table>
         <table number="011" name="flex_slider_category" maxparam="5" groupe="widget" tableuserlevel="0" rightCMDuser="003:000">
    		<description><![CDATA[flex slider category]]></description>
    		<column>
    			<parameter name="title" type="cdata" option="textinput/10/20"></parameter>
                <parameter name="description" type="cdata" option="textarea/20/3"></parameter>
    		</column>
    	</table>
        
        <table number="013" name="link" maxparam="6" groupe="widget" rightCMDuser="003:010">
    		<description><![CDATA[Les liens de votre site]]></description>
    		<column>
            	<parameter name="title" type="cdata" option="textinput/20/30"></parameter>
                <parameter name="url" type="cdata" option="textinput/80/200"></parameter>
               
    		</column>
    	</table>
    	
        <table number="001" name="gallery" maxparam="4" groupe="widget" order="true" rightCMDuser="003:000">
    		<description><![CDATA[Gallery]]></description>
    		<column>
                <parameter name="title" type="cdata" option="textinput/20/50"></parameter>
                <parameter name="image" type="cdata" option="image"></parameter>
                <parameter name="category" type="cdata" option="liste/gallery_category/title"></parameter>
                <parameter name="directory" type="cdata" option="scandirliste"></parameter>
                <parameter name="actif" type="numeric" option="boolean"></parameter>
                 <parameter name="description" type="cdata" option="textarea/20/3"></parameter>
    		</column>
    	</table>
        <table number="011" name="gallery_category" maxparam="5" groupe="widget" tableuserlevel="0" rightCMDuser="003:000">
    		<description><![CDATA[category gallery]]></description>
    		<column>
    			<parameter name="title" type="cdata" option="textinput/10/20"></parameter>
                <parameter name="description" type="cdata" option="textarea/20/3"></parameter>
    		</column>
    	</table>
    
    </document>
    

    Ce fichier xml est pour le moment éditable comme une page statique via un lien dans l'admin du plugin uniquement pour l'administrateur. Editable à la main pour le moment mais pourquoi ne pas faire une admin de ce fihier (j'y ai pensé :) ) mais je m'égare.

    A noter : ce fichier est particulier mais il y aura une doc bien précise dans l'aide du plugin. J'ai déja commencé, mais il me reste le get des données.

    Comme on peux le voir ici certaines tables communiquent entre elles pour gérer les catégories. Certain champs permettent la gestion des images, scanner des folder, avoir des boolean...Au gré des besoins je rajouterais ce que l'on veux. Le "order=true" permet de modifier l'ordre des record en drag and drop, simple et efficace.

    Exemple : Un champs avec une liste provenant des données de la table "page" et la colonne "title"
    [== XML ==]
    <parameter name="page" type="cdata" option="liste/page/title"></parameter>
    

    Le plugin interprète cet xml et génère l'administration tout seul. Le record de chaque table se fait dans data/spxdatas/data/ avec nameoftable.xml (folder défini dans la config du plugin)

    Exemple de record au niveau de la table menu recordé dans data/spxdatas/data/menu.xml
    [== XML ==]
    <?xml version="1.0" encoding="UTF-8"?>
    <document>
    <data number="002" user="001"  order="1"><column><parameter name="title" type="cdata"><![CDATA[Accueil]]></parameter><parameter name="page" type="cdata"><![CDATA[003]]></parameter><parameter name="level" type="cdata"><![CDATA[001]]></parameter><parameter name="actif" type="numeric">1</parameter></column></data><data number="003" user="001"  order="2"><column><parameter name="title" type="cdata"><![CDATA[Actualités]]></parameter><parameter name="page" type="cdata"><![CDATA[017]]></parameter><parameter name="level" type="cdata"><![CDATA[001]]></parameter><parameter name="actif" type="numeric">1</parameter></column></data><data number="004" user="001"  order="3"><column><parameter name="title" type="cdata"><![CDATA[Galeries]]></parameter><parameter name="page" type="cdata"><![CDATA[018]]></parameter><parameter name="level" type="cdata"><![CDATA[001]]></parameter><parameter name="actif" type="numeric">1</parameter></column></data><data number="005" user="001"  order="4"><column><parameter name="title" type="cdata"><![CDATA[Galeries récentes]]></parameter><parameter name="page" type="cdata"><![CDATA[018]]></parameter><parameter name="level" type="cdata"><![CDATA[002]]></parameter><parameter name="actif" type="numeric">1</parameter></column></data><data number="006" user="001"  order="5"><column><parameter name="title" type="cdata"><![CDATA[Archives]]></parameter><parameter name="page" type="cdata"><![CDATA[005]]></parameter><parameter name="level" type="cdata"><![CDATA[002]]></parameter><parameter name="actif" type="numeric">1</parameter></column></data><data number="017" user="001"  order="6"><column><parameter name="title" type="cdata"><![CDATA[Liens]]></parameter><parameter name="page" type="cdata"><![CDATA[014]]></parameter><parameter name="level" type="cdata"><![CDATA[001]]></parameter><parameter name="actif" type="numeric">1</parameter></column></data><data number="014" user="001"  order="7"><column><parameter name="title" type="cdata"><![CDATA[Contact]]></parameter><parameter name="page" type="cdata"><![CDATA[002]]></parameter><parameter name="level" type="cdata"><![CDATA[001]]></parameter><parameter name="actif" type="numeric">1</parameter></column></data><data number="018" user="001"  order="8"><column><parameter name="title" type="cdata"><![CDATA[Mentions]]></parameter><parameter name="page" type="cdata"><![CDATA[004]]></parameter><parameter name="level" type="cdata"><![CDATA[001]]></parameter><parameter name="actif" type="numeric">0</parameter></column></data></document>
    

    A partir de la un hook sur mon plugin permet de récupérer les données. Je suis allé assez loin dans le query de récupération (table, filter, order, limit, offset....). Presque un vrai query comme dans une vrai base :8 .

    Exemple de request (avec toutes les options possibles) pour faire un get sur les data via le hook:
    [== PHP ==]
    $oquery = array();
    // table
    $oquery["table"]="groupe";
    // output html (sortie possible array, array_html ou html)
    $oquery["out"]="html";
    // filter by category
    $oquery["filter"]="category=001";
    // order by title ascendant
    $oquery["order"]="title|A"
    // limite max a 10
    $oquery["limit"]=10;
    // commence à offset 5 (pour paginer de 5 en 5 par example)
    $oquery["offset"]=5;
    // précise le formatage html #name est remplacé par la valeur
    $oquery["format"]="<div class="span6 portfolio-item">
    	<div class="picture">
    		<div class="title"><h3>#title</h3></div>
    		<p>#content</p>
    	</div>
    </div>"
    // don applique la request
     $out = $plxShow->callHook('spxdatas::getData',oquery);
    // display html
    echo ($out);
    

    le spxdatas s'arrète la et c'est déja bien ! :8


    Par dessus j'ai greffé un dossier qui m'est propre sur le root spx/ dans lequel j'ai mis des classes php qui me simplifi la vie entre le template et les record de mon plugin. Mais c'est quelque chose encore à l'étude. Mais je peux tout administrer avec ça !


    Dans un premier temps le mieux serait de vous présenter mon plugin et voir ce que vous voulez ou pouvez faire avec.

    Mon mail je-evrard@neuf.fr

    a+

    jerome
  • Jerry WhamJerry Wham Member
    juin 2013 modifié
    J'ai pas tout compris. Tu as la tête dans le guidon et tu sais de quoi tu parles, mais c'est pas évident de te suivre... J'attends d'avoir le lien pour pouvoir étudier ton plugin.
    L'impression que j'en ai, est que ça m'a l'air d'être une sacrée usine à gaz. Je ne sais pas si on ne perd pas l'intérêt des plugins...
  • je-evrardje-evrard Member
    juin 2013 modifié
    C'est sur que ce n'est pas un plugin fait pour monsieur tout le monde. C'est plutôt fait pour créer un environnement personnalisé, centralisé. Tu peux avoir une table comme tu pourrais en avoir 25, c'est fonction de chacun.

    Tu veux ajouter une admin de liens html, tu fais une table lien, voir mon premier exemple qui est plutot simple. Tu récupère le tout dans une page statique ou autre très facilement en 3 lignes.

    En tant que tel le plugin ne fait rien si tu lui donnes pas ce qu'il a à faire, si tu ne fait pas la description de ce que tu veux faire. Pour arriver à ça il faut lire la doc qui sera incluse avec des exemples précis. Mais ce n'est pas une "usine à gaz", ça été murement réfléchi tu peux me croire.

    Je n'oblige personne à l'utiliser, d'ailleurs je voulais même pas en parler car je savais que derrière je devrais fournir une doc détaillée, des exemples, répondre à des questions... et que tout ça prend du temps. L'important c'est d'avancer dans le bon sens.

    Bonne journée à toi
  • Je ne voulais pas te froisser et je ne voudrais surtout pas stopper ton élan créatif. C'est juste que ce que tu décris me semble (très) compliqué. Mais comme je le disais aussi, peut-être qu'une fois la doc rédigée et le code source en main, on y verra plus clair.
  • je-evrardje-evrard Member
    juin 2013 modifié
    Rassure toi je ne suis pas froissé, il m'en faut d'autre :) . La description de la base a été faite pour être la plus simple possible. Après je ne suis pas le mieux placé pour évalué le niveau de difficulté qui peux etre propre a chacun. Je vais essayé de vous donner une version de base la semaine prochaine, je part en week-end au bord de la mer (ça fait du bien). La doc évolura au fil du temps, fonction des commentaires de chacun.

    a+
  • Salut,
    Je vais essayé de vous donner une version de base la semaine prochaine
    Il me tarde car je trouve ton idée excellente et je suis curieux de voir comment tu l'as implémentée.
    Amicalement.
  • bon ben moi j'ai rien compris du tout !!! ]:D
    j'ai l'impression qu'on dirait le fichier lang ...
    m'enfin si tu t'y retrouve.
    Merci pour ton partage
  • Le fichier lang ?
  • danielsandanielsan Member
    juin 2013 modifié
    vi, à une variable on associe une chaîne ...
    quand tu as "ASKED_QUESTION" pour "Frequently Asked Questions"
    ben moi j'utilise le fichier lang ...
    je peux même utiliser ce fichier pour stocker une suite de valeur en les séparant par des "|" ...

    ensuite, lorsqu'il faut associer un tableau, des images ou je ne sais qui sorte d'une simple chaîne de texte sans mise en forme, j'utilise une page static que j'insère là où je veux ...

    enfin, l'association d'un texte à une image, pourquoi pas (je me demande si ce n'est pas faisable avec les simple méta-données d'une image ... et si ça ne l'ai pas, ça ne saurait que tarder ... )

    désolé, je ne comprends pas ce plugin ... du moment qu'à toi il te sert, c'est l'essentiel !

    cordialement,
  • je-evrardje-evrard Member
    juin 2013 modifié
    et tout ça ca te créé une administration coté client alors :) ? Excuse mais ça vraiment rien a voir...

    tu as testé le lien : http://secretsitebox.fr/clients/racingshootsv2/

    L'accès a l'admin est dans le footer. user: demo - pass : demo

    Si tu arrives a faire la même chose avec le fichier lang je viens bien une démo. Tu m'intéresses.
  • Ce plugin paraît complexe, mais très intéressant. A approfondir quand on aura le plugin et la doc !
    J'allais poser la question, mais j'ai trouvé, sur le premier post dont tu pales, la signification de spxdatas : "Simple PlumXml datas".

    Une idée me vient, en voyant la démo avec plusieurs zones de texte et une image pour chaque donnée : une application pour du petit commerce en ligne.
    Je pense que c'est une base de départ permettant de développer pas mal d'applications, mais ça reste encore un peu abstrait, d'autant plus qu'on n'a pas encore tous les éléments. C'est pour ça qu'on a du mal à voir une utilisation immédiate.
  • euh nan c'est vrai pas de gestion en admin ... ]:D (mais pourtant simplissime à gérer le fichier lang ! )
    Voui j'ai testé plusieurs fois ton admin ...
    Disons que moi j'préfère expliquer à un mec comment faire une liste de lien en utilisant de balises appropriés ... mais continue il peut en sortir quelque chose (éventuellement travail la partie ergonomique)
  • je-evrardje-evrard Member
    juin 2013 modifié
    Pour repondre a Francis, j'ai déjà Cree un environnement avec mon plugin pour du e commerce simple sans gestion de stock. Je pourrais toujours vous en parler plus tard.

    En fait le terme spx est devenu "suite pluxml" car tous mes plugins portent l'extension spx pour creer un environnement homogene.

    Je continue la doc en essayant d'être le Clair possible dans mes explications et c'est pas facile. la creation de la base pour faire fonctionner le plugin est un mini language en soit.

    c'est peut être la que ca peut bloquer pour certain. La doc sera fourni avec des bases d examples du plus simple au plus complique.

    Bon weekend
  • A noter que la version que je vais vous donner sous peu gèrera le multilingue en option (via le merveilleux plugin de stéphane). Les record des données seront faites dans des dossiers (fr en ...)
  • je-evrardje-evrard Member
    juin 2013 modifié
    Le téléchargement d'une version de spxdatas version 0.99 est dispo à l'adresse suivante :

    http://secretsitebox.fr/spx/demospx5-1-7-v1.rar

    A noter: que c'est un pluxml dernière version et déja installé

    Donc les consignes sont les suivantes :

    - Editer le fichier de configuration data/configuration/parametres.xml pour mette votre url racine.
    - le login admin : demo password : demo

    Un article a été créé sur la page d'accueil avec quelques indications. Je vous laisse découvrir le truc....

    Vous trouverez notamment 4 exemples dans les pages statiques dont :

    - gestion de liens
    - gestion d'auteurs
    - gestion de portfolio
    - gestion de produits (achat)
    - gestion multilingue a activer ou non

    a+
  • Merci pour le lien, il y a du monde, là dedans !
    Je regarderai ça quand j'aurai un peu de temps.
  • Super merci pour le partage.

    Deux petites remarques :
    [list=*]
    [*]Tu as oublié le $this->setConfigProfil(PROFIL_ADMIN); $this->setAdminProfil(PROFIL_ADMIN); dans le fichier spxlibrairy.php[/*]
    [*]Serait-il possible d'avoir uniquement les deux plugins vierges (spxlibrairy et spxdatas) pour voir comment ils se comportent avec une installation de base ?[/*]
    [/list]

    L'aide est bien détaillée.

    Y a du boulot ! Bravo.
  • Autre remarque : peux-tu détailler comment paramétrer paypal ? Ou pour utiliser un autre moyen de paiement ?
  • je-evrardje-evrard Member
    juin 2013 modifié
    Salut,

    Pour le moment c'est un proto, donc pas encore tout a fait fini.

    Le plugin spxlibrairy sera fini cette semaine, c'est juste pour intégrer coté admin jquery, jqueryUI et zoombox. Comme ça je suis sur que spxdatas fonctionne bien. En l'état avec ces deux plugin spxdatas et spxlibrairy ça fonctionne.

    Pour les différents exemples dans les pages statiques c'est juste pour la démo, je l'ai ai finalisé hier soir tard dans la nuit pour vous montrez des exemples précis. L'intêret est de vous montrer ce que spxdatas sait faire. :)

    Pour l'exemple ecommerce, j'ai utilisé une veille librairy simplecart. Mais je mettrais en ligne une mise a jour de cet exemple avec la dernière version de la librairy mais on sort du cadre du plugin. http://simplecartjs.org/.



    J'aimerais surtout vos remarques au niveau du plugin en lui-même (admin / widget ) et de son potentiel a venir dans pluxml.

    Je mettrais effectivement en ligne un lien vers les deux plugin prochainement.
  • salut,
    je viens de tester. Beau boulot. Juste une petite remarque, il faudrait que les plugins spxdatas et spxlibrairy sont indépendants pour nous laisser le choix d'installer le plugin spxlibrairy ou non. A l'heure actuelle, il y a des bouts de code javascripts écrits en dur dans ta class spxdatas qui créent une dépendance entre les deux. Ces bout de code seraient mieux dans un fichier externe placé dans le plugin spxlibrairy.
    Sinon, je répète que c'est un beau boulot car avec le plugin spxdatas, les pages statiques deviennent dynamiques et du coup, les limites de pluxml sont repoussées.
    Cordialement.
  • je-evrardje-evrard Member
    juin 2013 modifié
    Salut,

    En fait, le spxdatas a besoin de jquery et jqueryUI coté admin pour fonctionner ça c'est sur.

    Donc pour le moment j'utilise spxlibrairy pour rajouter les librairy nécessaire mais ce plugin n'est pas fini car je vais le rendre configurable au niveau des librairy (je veux ou pas tel librairy...)

    Si par exemple tu utilises que spxdatas tu devras obligatoirement installé jquery et jqueryUI coté admin par un autre moyen que spxlibrairy pour ça fonctionne.

    Je vais essayer en tout cas dans ma suite spx plugin d'avoir une logique d'ensemble. Chaque plugin ayant une fonction précise dans un environnement logique. L'idée est de ne pas charger jquery plusieurs fois et de centraliser ça dans une tache dédiée.

    spxdatas: record de données avec admin
    spxlibrairy : chargement des librairy pour la suite spx

    Merci beaucoup pour les remarques.

    Cordialement,
  • mementomemento Member
    juin 2013 modifié
    Bonjour,
    je-evrard a écrit:
    En fait, le spxdatas a besoin de jquery et jqueryUI coté admin pour fonctionner ça c'est sur.
    D'après ce que j'ai vu de ton code, je n'en ai pas eu l'impression. J'ai fait le test en désactivant le javascript et je n'ai pas eu de problème pour créer une nouvelle table et de nouvelles données dans cette table. D'ailleurs, c'est ce que je trouve intéressant dans ton code car ça reste très léger et on a pas besoin de se coltiner des usines à gaz (jquery, jqueryUI, tinymce) pour deux ou trois fonctionnalités user-friendly dont on peut se passer allègrement. La seule chose que je demandais, c'était juste de déplacer les bouts de code javascript présents dans le plugin spxdatas dans ce plugin spxlibrairy pour bien séparer le fond de la forme. En tout cas, je ne remet pas en cause l'existence du plugin spxlibrairy qui sera certainement utile pour certains d'entre nous. En tout cas, bravo pour avoir eu cette idée.
    Cordialement.
  • Je viens de lire la doc, et je pense qu'il va falloir faire un effort côté grammaire et orthographe car parfois, ça pique un peu les yeux ]:D
    Si tu veux, je peux te donner un coup de main à ce niveau.

    Sinon, le plugin fonctionne plutôt bien. C'est beaucoup plus clair maintenant que j'ai pu tester. ;)
  • je-evrardje-evrard Member
    juin 2013 modifié
    Re hello,

    Pour répondre d'abord à memento :

    Le plugin jquery est utilisé juste pour les champs avec des images, ça ouvre la fenetre popup média, après sélection l'image et l'url changent. Si tu désactives spxlibrairy l'image ne changera pas.

    Pour jqueryUI si tu prends l'exemple de la table produits qui possède un order=true, c'est à dire que chaque champs peut être draggable pour modifier la position dans la liste. Idem si tu désactive spxlibrairy, plus de drag and drop (snif).

    Et puis effectivement tinymce que j'avais oublié (tellement simple à mettre en place celui-la)

    C'est vrai que ça fait pas beaucoup d'usage pour de grosses librairies, je vais réfléchir au déplacement du code en effet.

    Merci pour cette idée qui me parait très bien à première vue.

    Pour répondre à jerry :

    J'ai écrit la doc très rapidement, et je l'ai finie dans la nuit (j'ai les yeux qui m'ont piqués aussi :) ). Je vais relire deux ou trois fois dans un premier temps, puis je vous remettrais un update de l'ensemble (j'ai jamais été un champion de l’orthographe). Enfin, je ne suis pas du tout contre une aide à ce niveau, c'est très sympathique de ta part. Comment on opère pour la suite ? Après ma relecture je te passe le bébé de la doc ?

    Merci en tout cas pour ces commentaires, j'espère que vous avez une vision beaucoup plus clair de ce que je tentais d'expliquer difficilement il quelques temps. Un plugin qui ne fait rien sauf si vous lui dites de faire ce qu'il a faire :lol: .

    Je sais pas si Stéphane a testé ?

    a+

    jerome
  • jack31jack31 Member
    Bonjour à tous, bonjour je-evrard, :)

    Bravo (et merci) pour cet excellent boulot qui effectivement ouvre pas mal de perspectives d'adaptation Pluxml pour ceux qui ne savent pas coder.

    Un petit truc à remarquer au passage.

    Ta démo est paramétrée pour fonctionner sans la réécriture d'URL et, si on active le rewrite, plus d'images dans le portfolio. :/

    D'autre part, pour le module "Liens", peut-on faire en sorte que le clic sur l'URL ouvre dans un nouvel onglet ou nouvelle fenêtre ?

    A part ça, joli plugin. Je continue à le tester. :)
Connectez-vous ou Inscrivez-vous pour répondre.