Feb 07 2009

headLink a headStyle View Helpery

Tag: Zend FrameworkJens @ 17:00

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'
	)
);

Jeden komentář k článku “headLink a headStyle View Helpery”

  1. Marek napsal:

    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’));