Du Javascript dynamique dans une vue en utilisant sf_format


Olivier
Du Javascript dynamique dans une vue en...

Il arrive que l’on ai besoin d’utiliser un script javascript spécifique dans une vue. Un script dynamique qui nécessite d’être renseigné par des informations de php (utiliser des variables ou des méthodes de nos objets).

Dans mon précédent post j’évoquais les différentes possibilités d’inclure le javascript dans les vues.

  • Mettre des balises <script> directement au milieu du html (un peu crade mais efficace)
  • Faire un fichier .js « en dur » dans le dossier /web/js (mais là on perd la possibilité d’utiliser du php)
  • Utiliser un slot dans le <head> du template
  • Utiliser une vue

C’est ce dernier point que je vous propose de voir aujourd’hui.

(suite…)

Show Comments (1)

Comments

  • shopoto

    Bonsoir,

    Ton article est très intérressant!
    J\’ai voulu le mettre en pratique.
    avec la config suivante:

    Ds mon routing:
    commun_arrays:
    url: /js/commun_arrays.:sf_format
    param: { module: commun, action: arrays, sf_format: js }

    Ds mon .htaccess:
    ..
    <IfModule mod_rewrite.c>
    RewriteEngine On

    # uncomment the following line, if you are having trouble
    # getting no_script_name to work
    RewriteBase /

    # we skip all files with .something
    RewriteCond %{REQUEST_URI} \\..+$
    RewriteCond %{REQUEST_URI} !\\.html$
    RewriteRule .* – [L]

    # we check if the .html version is here (caching)
    RewriteRule ^$ index.html [QSA]
    RewriteRule ^([^.]+)$ $1.html [QSA]
    RewriteCond %{REQUEST_FILENAME} !-f

    # no, so we redirect to our front web controller
    RewriteRule ^(.*)$ index.php [QSA,L]
    </IfModule>
    ..

    ds mon settings
    prod:
    .settings:
    no_script_name: true
    logging_enabled: false
    cache: true
    dev:
    .settings:
    error_reporting: <?php echo (E_ALL | E_STRICT).\"\\n\" ?>
    web_debug: true
    cache: true
    no_script_name: false
    etag: false

    avec tout ca voila mon pb:

    mondomaine.com/index.php/js/commun_arrays.js -> ok
    mondomaine.com/frontend_dev.php/js/commun_arrays.js -> ok
    mondomaine.com/js/commun_arrays.js -> ko!!!

    cette route ne fonctionne que si je precise le script index.php ou fronten_dev.php, sans l\’un de ces deux fichiers il semble cherché ds le rep js (ki est vide pour le coup).

    Je pense avoir un pb avec le htaccess.

    Peux tu m\’éclairer ?

    Merci d\’avance

    • Article Author

Recevez nos articles