13.9.6 Layout::eSetBlockData()

La méthode eSetBlockData() permet de spécifier les valeurs des balises contenues dans les blocs (e.g. [BLOCK TAG]...[ENDBLOCK TAG]) pour des templates HTML ou XML.3.2.12

13.9.6.1 Description

void eSetBlockData ( string $blockTag, array $data = NULL )

La différence entre cette méthode et la méthode setBlockData() et qu'elle encode les valeurs lors de l'insertion. L'encodage est réalisée par la fonction PHP htmlspecialchars().

Liste des caractères encodés :

Caractère Encodage
" "
' &039;
> >
< &lt;

13.9.6.1.1 Avertissements

Aucun.

13.9.6.2 Liste des paramètres

(string) tag
Le nom de la balise du bloc à affecter. Le nom de la balise est spécifié sans les crochets ouvrant ([) et fermant (]).
(array) data
La liste des couples (TAG => valeur) à affecter dans le bloc.

13.9.6.3 Valeur de retour

Aucune.

13.9.6.4 Erreurs / Exceptions

Aucune.

13.9.6.5 Historique

Aucun.

13.9.6.6 Exemples

  • Exemple #1

Fichier de template MOVIES/Layout/movies.xml :

<ul>[BLOCK MOVIES]
  <li>
    <span class="movie_title">[MOVIE_TITLE]</span> 
    (<span class="movie_date">[MOVIE_DATE]</span>)
</li>[ENDBLOCK MOVIES]</ul>

Contrôleur :

$layout = new Layout("MOVIES/Layout/movies.xml");
$movies = array(
    array(
        'MOVIE_TITLE' => '"La guerre des étoiles": <Un nouvel espoir>',
        'MOVIE_DATE'  => '1977'
    ),
    array(
        'MOVIE_TITLE' => '"La guerre des étoiles": <L\'empire contre-attaque>',
        'MOVIE_DATE'  => '1980'
    ),
    array(
        'MOVIE_TITLE' => ('"La guerre des étoiles": <Le retour du Jedi>'),
        'MOVIE_DATE'  => '1983'
    )
);
 
$layout->eSetBlockData('MOVIES', $movies);
print $layout->gen();

Résultat :

<ul>
  <li>
    <span class="movie_title">&quot;La guerre des étoiles&quot;: &lt;Un nouvel espoir&gt;</span> 
    (<span class="movie_date">1977</span>)
  </li>
 
  <li>
    <span class="movie_title">&quot;La guerre des étoiles&quot;: &lt;L&#039;empire contre-attaque&gt;</span> 
    (<span class="movie_date">1980</span>)
  </li>
 
  <li>
    <span class="movie_title">&quot;La guerre des étoiles&quot;: &lt;Le retour du Jedi&gt;</span> 
    (<span class="movie_date">1983</span>)
  </li>
</ul>

13.9.6.7 Notes

Aucune.

13.9.6.8 Voir aussi

×
nouveauté