Jump to content

1.7.5 / Admin Controller


Recommended Posts

Bonjour,

pour un nouveau module, j'essai d'utiliser le nouveau mécanisme de création des Admin Controller. J'ai suivi exactement la doc (il me semble), mais impossible d'accéder au module !

Le seul écart est dans le dommage du module qui contient un underscore mon_module

dans mon_module/controller/monmodulepdf.php
 

namespace Mon_Module\Controller;
use PrestaShopBundle\Controller\Admin\FrameworkBundleAdminController;

class MonModulePdf extends FrameworkBundleAdminController
{
    public function demoAction()
    {
        return "coucou";
	}
}

 

routes.yml (qui est bien chargé - j'ai pu verifier)


mon_module_pdf:
    path: mon_module/demo
    methods: [GET]
    defaults:
      _controller: 'Mon_Module\Controller\MonModulePdf::demoAction'

composer.json :

{
	"name": "xpech/mon_module",
	"description": "...",
	"autoload": {
		"psr-4": {
			"Mon_Module\\Controller\\": "controller/"
		}
	},
	"type": "prestashop-module"
}

J'ai testé :

 *  /admin***/modules/mon_module/demo

 *  /admin***/mon_module/demo

sans succès :(

Une piste ??

merci, bonne soirée

 

 

 

 

  • Like 1
Link to comment
Share on other sites

"Looks we finally have a YAML dev here !"

Bon en fait Presta y est pas totalement à ce genre de routes, la version 1.6 est probablement en cause (mais en même temps, je l'ouvre, j'ai eu la flemme de tester)

Le controller il est structuré comment surtout ? Presta affirme comme Moïse et ses 10 commandements avoir révolutionné le tout, mais bon rien qu'avec Ever SEO j'ai vu que dalle hein...

Genre => 


class AdminEverPsSeoBacklinkController extends ModuleAdminController
{
    private $html;

    public function __construct()
    {

//blablabla

(Note que ce code déjà valide un controller de 1.6 à 1.7, et encore j'ai pas testé sur 1.5. Donc, toujours aussi révolutionnaire la pseudo "1.7" ?)

 

Au niveau de ce qu'annonce Prestashop, je n'ai donc vu aucune différence en 1.7, si ce n'est l'absence désormais d'overrides. Je suis cependant hyper curieux de savoir comment éclater PS 1.7, et je t'invite à rechercher "Prestashop Hervé Hennes" sur Google, que je trouve personnellement un bon dev liant les problématiques du CMS Prestashop, et Symfony (Dieu ! Qu'il a du courage !)

https://www.h-hennes.fr/blog/

Bref, on peut voir ton code un peu plus en détail ?

Edited by cyssoo (see edit history)
Link to comment
Share on other sites

@cyssoo : Le site fournis du code à l'ancienne sans Simphony. Quitte à faire un nouveau module, autant partir directement sur la nouvelle forme. 

@Janett : Bonne piste, je vais regarder, déjà si ce module fonctionne. Je ferais un retour. Merci !

Link to comment
Share on other sites

  • 1 month later...

@xpech Salut, effectivement ils ont oubliés de mentionner dans la documentation (comme beaucoup de choses d'ailleurs...) qu'il faut générer l'autoload pour ton module.

Pour cela, il te faut Composer d'installer, ensuite tu cd dans ton module et  :

composer dumpautoload

Normalement il va te créer un dossier vendor avec ce qu'il faut, n'oublie pas de réinitialiser ton module. 😎

  • Like 1
Link to comment
Share on other sites

  • 10 months later...

Ce post date un peu. J’ai aussi passee beaucoup de temps sur le tuto pour comprendre ce que je faisais mal. En fait le tuto est incomplet, il faut rajouter

require_once(__DIR__ . '/vendor/autoload.php');

 

Juste avant la définition de la classe et ça marche comme sur les roulettes.

J’espère que j’aurais aidé d’autres développeurs.

  • Thanks 1
Link to comment
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...