Assets
Comment sont gérés les fichier JS et CSS dans Symfony ?
Mise en place de Webpack/Encore pour gérer les fichiers JS et CSS. C'est un module Symfony qui utilise Webpack.
Pour compiler les fichiers, il faut lancer la commande suivante :
yarn encore dev --watchJavascript
Librairies utilisées
Zepto (jQuery-like light)
J'utilise la librairie Zepto qui est un jQuery très léger. Pour l'installer, il faut un package spécifique pour Webpack (webpack-zepto) :
yarn add webpack-zepto --devjQuery
Finalement, pour utiliser Select2 par exemple, il faut jQuery…
yarn add jqueryJSRouting
Le bundle FOSJsRoutingBundle permet d'utiliser les routes déclarées dans les controllers Symfony directement dans les fichiers Javascript.
Par contre, lorsqu'on rajoute une route, il ne faut pas oublier de lancer la commande suivante pour exporter les routes dans un fichier JSON :
bin/console fos:js-routing:dump --format=json --target=public/js/fos_js_routes.jsonCe fichier est ensuite utilisé dans le fichier Javascript via les lignes suivantes :
CKEditor
Pour le WYSIWYG des textes, j'utilise la librairie CKEditor. Pour le mettre en place :
Il est possible de créer des plugins pour CKEditor, pour ajouter de nouvelles fonctionnalités (comme l'intégration de champs personnalisés dans le contenu).
CSS
Les fichiers CSS sont générés via Sass. Pour cela, il faut installer les modules correspondants via la commande :
Icônes
Les icônes de la plateforme sont fournies par Font Awesome.
Pour utiliser la librairie, il faut l'ajouter au projet :
Puis, il faut mettre les lignes suivantes dans le fichier app.js :
Intégration dans une page
Il est possible de déclarer un fichier Javascript spécifique à une page. Pour cela, il faut définir une "entry" dans le fichier de configuration de Webpack :
Puis utiliser le nom de cette entrée dans la page désirée :
Il est aussi possible de faire ça avec un fichier CSS en utilisant la fonction encore_entry_link_tags('ma_page').
Mis à jour