Développer avec RBS Change : [Résolu] Ajoute un marker perso

  • 81759.1

    08/11/2013 16:43


    Mathias
    Rang : Expert
    Bonjour,

    je cherche à mettre en place un marker perso, pour lequel j'aurai des champs spécifiques et un template HTML spécifique présent au sein de toutes mes pages et alimenté par l'action de mon block.

    J'ai réalisé pour l'instant :
    1 - création du document markerPerso au sein de mon module perso et qui étend le marker modules_website/marker
    2 - j'ai ajouté les éditeurs (add-document-editor) de mon document et généré les formulaires (generate-document-editor + compile-editor-config).
    3 - en m'inspirant du module markergas, j'ai aussi ajouté trois fichiers dans mon dossier confit : website.actions.xml / website.perspective.xml / website.rights.xml en remplaçant les valeurs de ce module par celles du mien. (j'ai aussi supprimé l'action générée dans mon fichier actions.xml pour ne laisser que celle du module website).
    4 - j'ai tout compilé

    Désormais, sur la vue de la liste des marker, j'ai la possibilité de créer un marker du type que j'ai créé à l'étape 1, et il se crèe correctement.
    Par contre, impossible de l'éditer et d'accéder à son formulaire lorsque je clique sur l'icône éditer.

    Est-ce qu'à ce stade je devrais être capable d'éditer mon marker et mon problème vient donc d'une erreur de ma part ?

    Est-ce que cela vient des bindings que je n'ai pas reproduis dans mon module ? j'ai pourtant copié / coller (assez sauvagement) les fichiers lib/bindings/markergasEditor.xml et le fichier bindings.css dans mon projet de la même manière que dans le module markergas mais rien n'y fait...

    Merci de m'éclairer sur ce point car j'ai un peu de mal avec les bindings xul :p

    Merci !

    Édité par Mathias 09/11/2013 14:53


    Développe sous linux Ubuntu 12.04 LTS Desktop
    Projet ecommerce core 3.6.7
  • 81759.2 en réponse à 81759.1 écrit par Mathias

    11/11/2013 10:13


    hioli01
    Rang : Adepte
    Bonjour,

    As tu lance un compile-editors-config (commande qui ne lance qu'on mode dev).
    Sinon peut tu nous fournir le contenu des fichiers config de ton module (perspective,actions et rights) .

    Développeur et intégrateur web
    RBSChange V 3.5.2 e-commerce
  • 81759.3 en réponse à 81759.2 écrit par hioli01

    12/11/2013 01:31


    Mathias
    Rang : Expert
    Bonjour,

    oui j'ai bien appliqué la commande compile-editors-config.
    voici le contenu des fichiers demandés qui, comme je l'ai indiqué, sont une copie de ce que j'ai trouvé dans le module markergas, modulo les modifications pour le lier à mon module "project" et à mon document "markergremark".
    website.actions.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <actions>
    	<action name="createMarkergremark">
        <parameter name="listWidget"/>
        <body><![CDATA[this.createDocumentEditor('modules_project_markergremark', listWidget.getSelectedItems()[0].id);]]></body>
      </action>
    </actions>

    website.perpective.xml :
    <?xml version="1.0" encoding="UTF-8"?>
    <perspective>
    	<models>
    		<model name="modules_project/markergremark">
    			<contextactions>
    				<contextaction name="edit"/>
    				<contextaction name="delete"/>
    				<contextaction name="deactivated"/>
    				<contextaction name="reactivate"/>
    			</contextactions>
    		</model>
    	</models>
    	<actions></actions>
    </perspective>


    website.rights.xml :
    <?xml version="1.0" encoding="utf-8"?>
    <rights>
    	<actions>
    		<document name="markergremark" />
    	</actions>
    	<roles>
    		<role name="TreeManager">
    			<permission name="Insert.markergremark" />
    			<permission name="Update.markergremark" />
    			<permission name="Load.markergremark" />
    			<permission name="Delete.markergremark" />
    		</role>
    	</roles>
    </rights>


    Mon fichier forms/editor/markergremark/properties.xml :
    <?xml version="1.0" encoding="UTF-8"?>
    <panel>
      <section labeli18n="m.uixul.bo.doceditor.fieldsgroup.title">
        <field name="label"/>
        <field name="account"/>
        <field name="langs"/>
        <field name="website"/>
        <field name="google_conversion_id"/>
        <field name="google_conversion_label"/>
      </section>
    </panel>
    


    Pour info, j'ai supprimé des fichiers actions.xml / perspective.xml / rights.xml de mon module project, les références à mon model modules_project/markergremark générées automatiquement par la commade (add-document-editor) comme il est fait dans le module markergas.
    Je penche de plus en plus pour un problème au niveau du bindings xul, mais je n'en suis pas sûr du tout.

    Développe sous linux Ubuntu 12.04 LTS Desktop
    Projet ecommerce core 3.6.7
  • 81759.4 en réponse à 81759.3 écrit par Mathias

    12/11/2013 09:31


    hioli01
    Rang : Adepte
    Bonjour,

    Si j'ai bien compris ton besoin tu veux pouvoir créer et editer ton nouveau document sous le module website et non pas sous ton module spécifique.
    Si c'est le cas il faut mieux garder les éditeurs créer par defaut sous ton module spécifique suite à la commande cec .
    ensuite tu peux faire l'import des éditeurs au niveau du module website tel que c'est fait pour le modules catalog standard pour le document Fees du modules order.
    Sous le modules order on a bien les xml editeur du document Fees (catalog.action.xml, catalog.right.xml...) et sous override/modules/catalog/config il y a l'import de ces fichiers..
    Sinon il faudra lancer un croles et cperm après tout modification pour que les bonnes droits soient prise en change.


    Développeur et intégrateur web
    RBSChange V 3.5.2 e-commerce
  • 81759.5 en réponse à 81759.4 écrit par hioli01

    12/11/2013 13:19


    Mathias
    Rang : Expert
    Bonjour,

    merci car tu m'as guidé sur la bonne voie.
    Il me manquait les imports dans le dossier override, généré par le code suivant issu du fichier setup/initData.php :
    $mbs = uixul_ModuleBindingService::getInstance();
    		$mbs->addImportInPerspective('website', 'markergas', 'website.perspective');
    		$mbs->addImportInActions('website', 'markergas', 'website.actions');
    		$result = $mbs->addImportform('website', 'modules_markergas/markergas');
    		if ($result['action'] == 'create')
    		{
    			uixul_DocumentEditorService::getInstance()->compileEditorsConfig();
    		}		
    		f_permission_PermissionService::getInstance()->addImportInRight('website', 'markergas', 'websiterights');


    Depuis que j'ai mis à jour ces fichiers du module override, tout va bien !

    Merci

    Développe sous linux Ubuntu 12.04 LTS Desktop
    Projet ecommerce core 3.6.7
 
Merci de prendre connaissance et de respecter les règles des forums.
 
1378 membres
Aucun membre connecté