L'aide de vue HeadStyle L'élément HTML <style> est utilisé pour inclure des feuilles de styles CSS à l'intérieur de l'élément HTML <head>. Utilisez HeadLink pour lier des fichiers CSS externes HeadLink devrait être utilisé pour inclure des feuilles de styles externes. HeadStyle ne devrait être utilisé que si vous souhaitez définir des feuilles de styles internes. L'aide de vue HeadStyle supporte les méthodes suivantes pour l'ajout et le paramétrage des déclarations de feuilles de styles : appendStyle($content, $attributes = array()) offsetSetStyle($index, $content, $attributes = array()) prependStyle($content, $attributes = array()) setStyle($content, $attributes = array()) Dans tous les cas, $content est le contenu des déclarations CSS. $attributes sont les attributs additionnels que vous pouvez fournir à la balise style : "lang", "title", "media", ou "dir" sont autorisés. Paramétrez des commentaires conditionnels HeadStyle vous permet d'englober vos balises de style avec des commentaires conditionnels, ce qui permet de les masquer pour des navigateurs spécifiques. Pour ajouter les balises conditionnelles, fournissez le paramètre conditional en tant que partie du paramètre $attrs lors de l'appel de la méthode. HeadStyle avec des commentaires conditionnels headStyle()->appendStyle($styles, array('conditional' => 'lt IE 7')); ]]> HeadStyle permet aussi la capture des déclarations de style ; ceci peut être utile si vous voulez créer des déclarations par programme, et ensuite les placer à un autre endroit. L'utilisation de cette fonctionnalité est montrée dans un exemple ci-dessous. Enfin, vous pouvez utiliser la méthode headStyle() pour ajouter rapidement des éléments de déclarations ; la signature de la méthode est headStyle($content$placement = 'APPEND', $attributes = array()). $placement peut être "APPEND", "PREPEND", ou "SET". HeadStyle surcharge chacune des méthodes append(), offsetSet(), prepend(), et set() pour imposer l'utilisation des méthodes spéciales listées ci-dessus. En interne, il stocke chaque élément sous la forme d'un stdClass, qui est ensuite sérialisé en utilisant la méthode itemToString(). Ceci vous permet de réaliser des vérifications sur les éléments de la pile, et optionnellement modifier ces éléments en modifiant simplement l'objet retourné. L'aide HeadStyle est une implémentation concrète de l'aide Placeholder. UTF-8 encoding used by default By default, Zend Framework uses UTF-8 as its default encoding, and, specific to this case, Zend_View does as well. Character encoding can be set differently on the view object itself using the setEncoding() method (or the the encoding instantiation parameter). However, since Zend_View_Interface does not define accessors for encoding, it's possible that if you are using a custom view implementation with this view helper, you will not have a getEncoding() method, which is what the view helper uses internally for determining the character set in which to encode. If you do not want to utilize UTF-8 in such a situation, you will need to implement a getEncoding() method in your custom view implementation. Utilisation basique de l'aide HeadStyle Vous pouvez spécifier une nouvelle balise de style à n'importe quel moment : headStyle()->appendStyle($styles); ]]> L'ordre est très important avec les CSS ; vous pouvez devoir assurer que les déclarations soient chargées dans un ordre spécifique dû à l'ordre de la cascade ; employez les diverses directives "append", "prepend", et "offsetSet" pour faciliter cette tâche : headStyle()->offsetSetStyle(100, $stylesPerso); // - placer à la fin $this->headStyle()->appendStyle($stylesFinaux); // - placer au début $this->headStyle()->prependStyle($stylesInitiaux); ]]> Quand vous êtes finalement prêt à afficher toutes les déclarations de styles dans votre script de layout, faîtes un simple echo de l'aide : headStyle() ?> ]]> Capturer les déclarations de style en utilisant l'aide HeadStyle Parfois vous devez produire des déclarations de styles CSS par programme. Même si vous pouvez employer la concaténation de chaînes, les "heredocs", ou tout autre équivalent, il est souvent plus facile de faire juste la création des styles et de les entourer par des balises PHP. HeadStyle vous permet de le faire, et capture ainsi l'élément dans la pile : headStyle()->captureStart() ?> body { background-color: bgColor ?>; } headStyle()->captureEnd() ?> ]]> Les suppositions suivantes sont considérées : Les déclarations de styles sont ajoutées à la pile. Si vous souhaitez qu'elles remplacent la pile ou qu'elles soient ajoutées en début de pile, vous devez fournir "SET" ou "PREPEND", en tant que premier argument de captureStart(). Si vous souhaitez spécifier un quelconque attribut additionnel pour la balise <style>, fournissez-le sous la forme d'un tableau en deuxième argument de captureStart().