Jump to content

Edit History

gngngngn

gngngngn

Bonjour, 

Version de Prestashop : 1.7.8.5

Je suis actuellement en train de réaliser le module du livre "Prestashop, Développez vos propres modules e-commerce", le soucis c'est que malgré le fait qu'il soit annoncé pour être compatible 1.7, ce n'est pas réellement le cas car bon nombre de méthodes sont obsolètes.

Je suis en train de réaliser un FrontController via un module. Il est indiqué qu'il faut créer une méthode setMedia dans le contrôleur, pour surcharger le comportement par défaut de setMedia() avec addCSS et addJS. D'après mes recherches sur la doc officielle, cela a été actualisé par registerStylesheet et registerJavascript: 
https://devdocs.prestashop.com/1.7/themes/getting-started/asset-management/#with-a-front-controller-module

J'ai évidemment vidé les caches et réinitialisé le module.

La page fonctionne bien pas de problème, le var_dump retourne "true" donc il passe bien par setMedia, néanmoins aucun appel n'est fait sur les fichiers css et js. J'ai essayé plusieurs méthode en ligne, mais aucune ne fonctionne, j'en appel donc à vous. Voici mon code : 

    public function setMedia()
    {
        parent::setMedia();

        //// Le var_dump ci-dessous retourne true
        var_dump(file_exists('modules/' . $this->module->name . '/views/css/mymodcomments.css'));
        
        $this->registerStylesheet(
            'module-modulename-style',
            'modules/' . $this->module->name . '/views/css/mymodcomments.css',
            [
                'media' => 'all',
                'priority' => 200,
            ]
        );

        $this->registerJavascript(
            'module-modulename-simple-lib',
            'modules/' . $this->module->name . '/views/js/mymodcomments.js',
            [
                'priority' => 200,
            ]
        );
    }

image.thumb.png.4cbbbe36d3914ba50da5dd19ce2f2877.png


Edit : Voici toutes les techniques que j'ai essayé (copier/coller de stackoverflow et forum que j'ai trouvé, je n'ai pas pris la peine de modifier le code pour vous les mettre sur le forum, mais j'ai bien mis les bons liens dans mon code lors des tests : 
 

    public function setMedia(){
        parent::setMedia();
        $this->context->controller->addJS(_PS_MODULE_DIR_.'/views/js/about_us.js');
    }

 

public function setMedia()
{
    parent::setMedia();
    $this->addCSS($this->module->getPathUri().'views/css/style.css');
}

 

public function setMedia()
{
parent::setMedia();
$this->registerStylesheet('module-tuxinmodcartype-cartypeproducts-style', $this->module->getPathUri() . 'css/cartypeproducts.css');
$this->registerJavascript('module-tuxinmodcartype-cartypeproducts-js', $this->module->getPathUri() . 'js/cartypeproducts.js');
}


Merci à tous, je continue de chercher la solution dans mon coin :)

gngngngn

gngngngn


Ajout des méthodes utilisées

Bonjour, 

Version de Prestashop : 1.7.8.5

Je suis actuellement en train de réaliser le module du livre "Prestashop, Développez vos propres modules e-commerce", le soucis c'est que malgré le fait qu'il soit annoncé pour être compatible 1.7, ce n'est pas réellement le cas car bon nombre de méthodes sont obsolètes.

Je suis en train de réaliser un FrontController via un module. Il est indiqué qu'il faut créer une méthode setMedia dans le contrôleur, pour surcharger le comportement par défaut de setMedia() avec addCSS et addJS. D'après mes recherches sur la doc officielle, cela a été actualisé par registerStylesheet et registerJavascript: 
https://devdocs.prestashop.com/1.7/themes/getting-started/asset-management/#with-a-front-controller-module

J'ai évidemment vidé les caches et réinitialisé le module.

La page fonctionne bien pas de problème, le var_dump retourne "true" donc il passe bien par setMedia, néanmoins aucun appel n'est fait sur les fichiers css et js. J'ai essayé plusieurs méthode en ligne, mais aucune ne fonctionne, j'en appel donc à vous. Voici mon code : 

    public function setMedia()
    {
        parent::setMedia();

        //// Le var_dump ci-dessous retourne true
        var_dump(file_exists('modules/' . $this->module->name . '/views/css/mymodcomments.css'));
        
        $this->registerStylesheet(
            'module-modulename-style',
            'modules/' . $this->module->name . '/views/css/mymodcomments.css',
            [
                'media' => 'all',
                'priority' => 200,
            ]
        );

        $this->registerJavascript(
            'module-modulename-simple-lib',
            'modules/' . $this->module->name . '/views/js/mymodcomments.js',
            [
                'priority' => 200,
            ]
        );
    }

image.thumb.png.4cbbbe36d3914ba50da5dd19ce2f2877.png


Edit : Voici toutes les techniques que j'ai essayé (copier/coller de stackoverflow et forum que j'ai trouvé, je n'ai pas pris la peine de modifier le code pour vous les mettre sur le forum, mais j'ai bien mis les bons liens dans mon code lors des tests : 
 

    public function setMedia(){
        parent::setMedia();
        $this->context->controller->addJS(_PS_MODULE_DIR_.'/views/js/about_us.js');
    }

 

public function setMedia()
{
    parent::setMedia();
    $this->addCSS($this->module->getPathUri().'views/css/style.css');
}

 

public function setMedia()
{
parent::setMedia();
$this->registerStylesheet('module-tuxinmodcartype-cartypeproducts-style', $this->module->getPathUri() . 'css/cartypeproducts.css');
$this->registerJavascript('module-tuxinmodcartype-cartypeproducts-js', $this->module->getPathUri() . 'js/cartypeproducts.js');
}


Merci à tous, je continue de chercher la solution dans mon coin :)

gngngngn

gngngngn

Bonjour, 

Version de Prestashop : 1.7.8.5

Je suis actuellement en train de réaliser le module du livre "Prestashop, Développez vos propres modules e-commerce", le soucis c'est que malgré le fait qu'il soit annoncé pour être compatible 1.7, ce n'est pas réellement le cas car bon nombre de méthodes sont obsolètes.

Je suis en train de réaliser un FrontController via un module. Il est indiqué qu'il faut créer une méthode setMedia dans le contrôleur, pour surcharger le comportement par défaut de setMedia() avec addCSS et addJS. D'après mes recherches sur la doc officielle, cela a été actualisé par registerStylesheet et registerJavascript: 
https://devdocs.prestashop.com/1.7/themes/getting-started/asset-management/#with-a-front-controller-module

La page fonctionne bien pas de problème, le var_dump retourne "true" donc il passe bien par setMedia, néanmoins aucun appel n'est fait sur les fichiers css et js. J'ai essayé plusieurs méthode en ligne, mais aucune ne fonctionne, j'en appel donc à vous. Voici mon code : 

    public function setMedia()
    {
        parent::setMedia();

        //// Le var_dump ci-dessous retourne true
        var_dump(file_exists('modules/' . $this->module->name . '/views/css/mymodcomments.css'));
        
        $this->registerStylesheet(
            'module-modulename-style',
            'modules/' . $this->module->name . '/views/css/mymodcomments.css',
            [
                'media' => 'all',
                'priority' => 200,
            ]
        );

        $this->registerJavascript(
            'module-modulename-simple-lib',
            'modules/' . $this->module->name . '/views/js/mymodcomments.js',
            [
                'priority' => 200,
            ]
        );
    }

image.thumb.png.4cbbbe36d3914ba50da5dd19ce2f2877.png

Merci à tous, je continue de chercher la solution dans mon coin :)

gngngngn

gngngngn

Bonjour, 
 

Je suis actuellement en train de réaliser le module du livre "Prestashop, Développez vos propres modules e-commerce", le soucis c'est que malgré le fait qu'il soit annoncé pour être compatible 1.7, ce n'est pas réellement le cas car bon nombre de méthodes sont obsolètes.

Je suis en train de réaliser un FrontController via un module. Il est indiqué qu'il faut créer une méthode setMedia dans le contrôleur, pour surcharger le comportement par défaut de setMedia() avec addCSS et addJS. D'après mes recherches sur la doc officielle, cela a été actualisé par registerStylesheet et registerJavascript: 
https://devdocs.prestashop.com/1.7/themes/getting-started/asset-management/#with-a-front-controller-module

La page fonctionne bien pas de problème, le var_dump retourne "true" donc il passe bien par setMedia, néanmoins aucun appel n'est fait sur les fichiers css et js. J'ai essayé plusieurs méthode en ligne, mais aucune ne fonctionne, j'en appel donc à vous. Voici mon code : 

    public function setMedia()
    {
        parent::setMedia();

        //// Le var_dump ci-dessous retourne true
        var_dump(file_exists('modules/' . $this->module->name . '/views/css/mymodcomments.css'));
        
        $this->registerStylesheet(
            'module-modulename-style',
            'modules/' . $this->module->name . '/views/css/mymodcomments.css',
            [
                'media' => 'all',
                'priority' => 200,
            ]
        );

        $this->registerJavascript(
            'module-modulename-simple-lib',
            'modules/' . $this->module->name . '/views/js/mymodcomments.js',
            [
                'priority' => 200,
            ]
        );
    }

image.thumb.png.4cbbbe36d3914ba50da5dd19ce2f2877.png

Merci à tous, je continue de chercher la solution dans mon coin :)

gngngngn

gngngngn

Bonjour, 
 

Je suis actuellement en train de réaliser le module du livre "Prestashop, Développez vos propres modules e-commerce", le soucis c'est que malgré le fait qu'il soit annoncé pour être compatible 1.7, ce n'est pas réellement le cas car bon nombre de méthodes sont obsolètes.

Je suis en train de réaliser un FrontController via un module. Il est indiqué qu'il faut créer une méthode setMedia dans le contrôleur, pour surcharger le comportement par défaut de setMedia() avec addCSS et addJS. D'après mes recherches sur la doc officielle, cela a été actualisé par registerStylesheet et registerJavascript: 
https://devdocs.prestashop.com/1.7/themes/getting-started/asset-management/#with-a-front-controller-module

La page fonctionne bien pas de problème, le var_dump retourne "true" donc il passe bien par setMedia, néanmoins aucun appel n'est fait sur les fichiers css et js. J'ai essayé plusieurs méthode en ligne, mais aucune ne fonctionne, j'en appel donc à vous. Voici mon code : 

    public function setMedia()
    {
        parent::setMedia();

        //// Le var_dump ci-dessous retourne true
        var_dump(file_exists('modules/' . $this->module->name . '/views/css/mymodcomments.css'));
        
        $this->registerStylesheet(
            'module-modulename-style',
            'modules/' . $this->module->name . '/views/css/mymodcomments.css',
            [
                'media' => 'all',
                'priority' => 200,
            ]
        );

        $this->registerJavascript(
            'module-modulename-simple-lib',
            'modules/' . $this->module->name . '/views/js/mymodcomments.js',
            [
                'priority' => 200,
            ]
        );
    }

Merci à tous, je continue de chercher la solution dans mon coin :)

×
×
  • Create New...