Feb 07 2009
headLink a headStyle View Helpery
Jak přidat CSS soubory nebo ikonu do hlavičky (X)HTML v Zend Frameworku? Už od delší dobu je přímo v Zendu k dispozici spousta View Helperů (headLink, headMeta, headScript, headStyle a headTitle). Dnes se zaměříme jen na dva: headLink a headStyle.
Přidání CSS souboru
Přidání CSS souboru lze klasicky dvojím způsobem, první:
<style media="all" type="text/css">@import "/css/style.css";</style>
a druhý:
<link rel="stylesheet" href="/css/style.css" type="text/css"/>
Oba dva jsou hojně používání na různých webech. Který z nich je nejideálnější či úplně nejoptimálnější (:-) nevím, asi se zrovna používá to, co se komu líbí.
V Zendu budete pro první případ potřeboval helper headStyle:
echo $this->headStyle()->appendStyle('@import "/css/style.css";', array('media' => 'all'));
a pro druhý pak využijete headLink:
echo $this->headLink()->appendStylesheet('/css/style.css', 'all');
Oba použití samozřejmě můžete řetězit a celek vypsat pouze jednou:
$this->headLink()->appendStylesheet('/css/style.css', 'all'); $this->headLink()->appendStylesheet('/css/layout.css', 'all'); echo $this->headLink(); // vypise oba dva styly
Přidání favicon(y)
Na přidání favicony se používá pouze element <link>, takže tedy helper headLink:
echo $this->headLink()->headLink( array( 'rel' => 'favicon', 'href' => '/img/favicon.ico', 'type' => 'image/x-icon' ) );
29.05.2009, 10:00
Tu by som chcel len upororniť, že položka rel mi nefunguje keď je tam favicon, treba to zmeniť na shortcut icon.
Funguje mi to takto:
$this->headLink()->headLink(array(‘rel’ => ‘shortcut icon’,'href’ => $this->baseUrl1().’/public/images/sintava.ico’,'type’ => ‘image/x-icon’));