Caution: You are browsing the legacy symfony 1.x part of this website.
SymfonyWorld Online 2020
100% online
30+ talks + workshops
Live + Replay watch talks later

Il file di configurazione view.yml

1.4
Symfony version
1.2
Language

Il livello della vista può essere configurato modificando il file di configurazione view.yml.

Come accennato nell'introduzione, il file view.yml beneficia del meccanismo di configurazione a cascata, e può includere delle costanti.

caution

Questo file di configurazione è per lo più deprecato a favore di helper usati direttamente nei template o di metodi chiamati dalle azioni.

Il file di configurazione view.yml contiene un elenco di configurazioni della vista:

NOME_VISTA_1:
  # configurazione
 
NOME_VISTA_2:
  # configurazione
 
# ...

note

Il file di configurazione view.yml viene messo in cache come file PHP; tale processo è gestito autonomamente dalla classe sfViewConfigHandler.

Layout

Configurazione predefinita:

default:
  has_layout: true
  layout:     layout

Il file di configurazione view.yml definisce il layout predefinito usato dall'applicazione. Per impostazione predefinita, il nome è layout, quindi symfony decora ogni pagina con il file layout.php, che si trova nella cartella templates/ dell'applicazione. Si può anche disabilitare del tutto il processo di decorazione impostando la voce ~has_layout~ a false.

tip

Il layout viene disabilitato automaticamente per le richieste XML HTTP e per tutti i tipi di contenuto che non siano HTML, a meno che non sia specificato diversamente in modo esplicito.

Fogli di Stile

Configurazione Predefinita:

default:
  stylesheets: [main.css]

La voce stylesheets definisce un array di fogli di stile da usare per la vista corrente.

note

L'inclusione dei fogli di stile definiti in view.yml può essere fatta manualmente con l'helper include_stylesheets().

Se si definiscono diversi file, symfony li includerà nello stesso ordine in cui sono definiti:

stylesheets: [main.css, foo.css, bar.css]

Si può anche cambiare l'attributo media oppure omettere il suffisso .css:

stylesheets: [main, foo.css, bar.css, print.css: { media: print }]

Questa impostazione è deprecata in favore dell'helper use_stylesheet():

<?php use_stylesheet('main.css') ?>

note

Nel file di configurazione predefinito view.yml, il file riferito è main.css e non /css/main.css. Di fatto, entrambe le definizioni sono equivalenti, poiché symfony aggiunge /css/ ai percorsi relativi.

JavaScript

Configurazione Predefinita:

default:
  javascripts: []

La voce javascripts definisce un array di file JavaScript da usare per la vista corrente.

note

L'inclusione dei file JavaScript definiti in view.yml può essere fatta manualmente con l'helper include_javascripts().

Se si definiscono diversi file, symfony li includerà nello stesso ordine in cui sono definiti:

javascripts: [foo.js, bar.js]

Si può anche omettere il suffisso .js:

javascripts: [foo, bar]

Questa impostazione è deprecata in favore dell'helper use_javascript():

<?php use_javascript('foo.js') ?>

note

Se si usano percorsi relativi, come foo.js, symfony aggiunge /js/ all'inizio.

Meta e HTTP Meta

Configurazione Predefinita:

default:
  http_metas:
    content-type: text/html
 
  metas:
    #title:        symfony project
    #description:  symfony project
    #keywords:     symfony, project
    #language:     en
    #robots:       index, follow

Le impostazioni http_metas e metas consentono di definire dei meta tag da includere nel layout.

note

L'inclusione dei meta tag definiti in view.yml può essere fatta manualmente con gli helper include_metas() e include_http_metas().

Queste impostazioni sono deprecate in favore dell'uso di puro HTML nel layout, per i meta statici (come il content-type) o in favore di uno slot, per i meta dinamici (come il titolo o la descrizione).

tip

Se ha senso, il meta HTTP content-type è modificato automaticamente per includere il set di caratteri definito nel file di configurazione settings.yml, se non è già presente.