Jump to content
guirou62

Problème d’accessibilité au controlleur d'administration de mon module

Recommended Posts

Bonjour,

Je suis actuellement en train de développer un module pour Prestashop 1.7.6.1. J'ai besoin d'appeler une fonction PHP via l'ajax pour modifier l'ordre des éléments à la volée.

Pour créer la partie admin (qui renverra juste un JSON), je me suis basé sur le tuto suivant https://devdocs.prestashop.com/1.7/modules/concepts/controllers/admin-controllers/

J'ai donc mon controller :

<?php
// /modules/parallaxeffect/controller/AjaxParallaxController.php

namespace ParallaxEffect\Controller;

use PrestaShopBundle\Controller\Admin\FrameworkBundleAdminController;

class AjaxParallaxController extends FrameworkBundleAdminController{
    
    public function changeOrder(){
        return Tools::jsonEncode(['coucou']);
    }
    
}

J'ai ensuite configuré le PSR-4 :

// /modules/parallaxeffect/composer.json

{
  "name": "moi/parallaxeffect",
  "description": "Affiche un carrousel avec des éléments sur la page d'accueil",
  "autoload": {
    "psr-4": {
      "ParallaxEffect\\Controller\\": "controller/"
    }
  },
  "config": {
      "prepend-autoloader": false
  },
  "type": "prestashop-module"
}

 

Quand je suis, via l'invite de commande, dans le dossier de mon module, je fais la commande

composer dumpautoload

J'ai le message suivant : 

Quote

Generated autoload files containing 0 classes

 

Si je fais la commande

composer dumpautoload -o

J'ai le message

Quote

Generated optimized autoload files containing 1 classes

 

Est-ce normal ?

 

J'ai tout de même fini le tuto en créant le fichier de routes mais je n'ai pas de résultat probant ...

# /modules/parallaxeffect/config/routes.yml

changeOrder:
    path: parallaxeffect/changeorder
    methods: [GET]
    defaults:
        _controller: 'ParallaxEffect\Controller\AjaxParallaxController::changeOrder'

 

Deuxième question : Comment je fais pour accèder à cette page via l'url ? Dans le tuto, ils mettent /admin-dev/modules/your-module/demo mais à quoi correspond /admin-dev/ ?

 

Merci d'avance !!!

 

Guillaume

Edited by guirou62 (see edit history)

Share this post


Link to post
Share on other sites

Finalement, j'ai réussi à trouver les réponses à mes questions :

  • Est-ce normal ? La réponse est oui, il faut bien vérifier que le dossier vendor est bien créé
  • Comment accéder au module ? L'url est : adminxxxxxx/index.php/modules/parallaxeffect/changeorder?_token=xxxxxxxxxx ça ne fonctionnait pas car je devais réinstaller le module pour qu'il prenne en compte la route

Une nouvelle question se pose néanmoins : Comment je fais pour utiliser les classes que j'utilise habituellement (exemple pour faire une connexion en BDD) depuis ce controller qui est un extension de FrameworkBundleAdminController (Qui n'a rien à voir avec un module) ?

Merci d'avance pour vos réponses

Guillaume

Edited by guirou62 (see edit history)

Share this post


Link to post
Share on other sites

Merci @pedepot

J'ai entre-temps pu me baser sur des modules déjà existants pour enfin venir à bout de la conception de mon module ^^

Et pas de soucis pour la structure Symfony, je me suis bien basé dessus pour le développement avec la connexion en BDD ...

Encore merci :)

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More