Plugin dans cakephp et chargement des fichiers CSS et JS du plugin

Par FactureHero.com, il y a 10 ans


Salut, j'intègre un plugin sympa que j'ai trouvé pour cake.
Il s'apelle Froala, c'est un éditeur inline. (https://www.froala.com/wysiwyg-editor).

Tout semble fonctionner, je n'ai pas d'erreur liée au chargement du helper ou du plugin, à ceci près que les fichiers CSS et JS liés au plugin ne peuvent pas se charger car ils indiquent un mauvais chemin.
Lorsque je sors l'inspecteur, au chargement de la page j'ai le chemin suivant (et il est erronné car le fichier n'est pas ici) :
http://sandbox.com/monsite/Froala/js/froala_editor.min.js

Le chemin réel du fichier dans cake :
monsite/app/Plugin/Froala/webroot/js/froala_editor.min.js

QUESTION : est-ce que je fais une erreur dans le chargement du plugin, ou ai-je oublié quelque chose pour que Cake détecte correctement les liens des fichiers CSS et JS liés au plugin ?

Merci par avance de vos lumières

3 réponses

Lartak, il y a 10 ans

Bonsoir.
Pour charger les fichiers, est-ce que tu fais comme ça ?

$this->Html->css('Froala.froala_editor.min', ['inline' => false]); $this->Html->script('Froala.froala_editor.min', ['inline' => false]);
FactureHero.com, il y a 10 ans

Salut Lartak,
en fait non, je n'ai même pas besoin de les charger manuellement, simplement en validant le plugin dans config/bootstrap.php, les fichiers se chargent.

Voici ce que j'ai dans le app/Plugin/Froala/View/Helper/FroalaHelper.php

public function beforeRender($viewFile) { $appOptions = Configure::read('Froala.editorOptions'); if ($appOptions !== false && is_array($appOptions)) { $this->_defaults = $appOptions; } $this->Html->script(array( '/Froala/js/froala_editor.min.js', '/Froala/js/plugins/block_styles.min.js', '/Froala/js/plugins/colors.min.js', '/Froala/js/plugins/file_upload.min.js', '/Froala/js/plugins/font_family.min.js', '/Froala/js/plugins/media_manager.min.js', '/Froala/js/plugins/font_size.min.js', '/Froala/js/plugins/lists.min.js', '/Froala/js/plugins/tables.min.js', '/Froala/js/plugins/char_counter.min.js', '/Froala/js/plugins/inline_styles.min.js', '/Froala/js/plugins/urls.min.js', '/Froala/js/plugins/fullscreen.min.js', '/Froala/js/plugins/video.min.js'), array('inline' => false)); $this->Html->css('/Froala/css/froala_editor.min.css'); }

Ca vient probablement de là.
Le fichier complet à voir sur Github => https://github.com/froala/wysiwyg-cake/blob/master/View/Helper/FroalaHelper.php

Lartak, il y a 10 ans

Essaies tout simplement de remplacer par ceci :

$this->Html->script([ 'Froala.froala_editor.min', 'Froala.plugins/block_styles.min', 'Froala.plugins/colors.min', 'Froala.plugins/file_upload.min', 'Froala.plugins/font_family.min', 'Froala.plugins/media_manager.min', 'Froala.plugins/font_size.min', 'Froala.plugins/lists.min', 'Froala.plugins/tables.min', 'Froala.plugins/char_counter.min', 'Froala.plugins/inline_styles.min', 'Froala.plugins/urls.min', 'Froala.plugins/fullscreen.min', 'Froala.plugins/video.min'], ['inline' => false]); $this->Html->css('Froala.froala_editor.min', ['inline' => false]);