Konfigurácia meta tagov cez konfig…
- Peppy
- Člen | 137
Tento trik slúži na to, aby ste menili meta tagy pomocou konfigu, žiadne ručné zadávanie do @layout.phtml…
Do config.ini (časti common) napíšeme (môžte ich napísať viacej, pomenovať akokoľvek, pretože v presenteri je cyklus foreach :P):
; website defaults
website.url = localhost.sk
website.title = Môj prvý dynamický web pomocou Nette frameworku
website.author = Peppy
website.description = Môj dynamický web pomocou Nette frameworku
website.keywords = Nette, framework, Nette framework, Peppy, web, dynamický, dynamický web
; Delimiter in Url: $title $delimiter $url
website.delimiter = -
Do homepage presenteru:
public function renderDefault()
{
$web = Environment::getConfig('website')->toArray();
foreach($web as $key => $value)
{
$this->template->$key = $value;
}
}
a do @layout.phtml, niečo takéto:
<meta name="description" content="Nette Framework web application skeleton">
<meta name="robots" content="{$robots}" n:ifset="$robots">
<meta name="author" content="{$author}">
<meta name="keywords" content="{$keywords}">
<title>{$title} {$delimiter} {$url}</title>
Už len to spustiť!…Dúfam, že vám to pomôže…
Editoval Peppy (17. 7. 2010 21:56)
- Blizzy
- Člen | 149
Podle Googlu by každá stránka měla mít jiný description
,
stejně tak jako jiný title
. Description je to, co se ukáže ve
výsledcích Googlu pod každým odkazem, všechny stránky by pak měli dole
stejný popis. Lepší než mít na všech stránkách stejný popis je už
decription
nevyplňovat a nechat Google vybrat popisek sám.
Tohle se netýká toho triku, jenom jsem chtěl uvést věci na pravou míru,
description
by se imho prostě globálně nastavovat nemělo, pokud
se nejedná o jednostránkový web.
EDIT: samozřejmě pokud máš takovýchto configů několik pro různé stránky, je to v pohodě :-)
Editoval Blizzy (17. 7. 2010 22:03)
- Blizzy
- Člen | 149
Peppy napsal(a):
*EDIT: Ten konfig som bral ako ukážku :P
Já jsem myslel, že ten config je právě jádro toho triku :-).
Zajímavé řešení (proměnné robots) je v CD-collection v examples ve verzi 1.0:
V layoutu je:
{if isset($robots)}<meta name="robots" content="{$robots}" />{/if}
V konkrétní šabloně (login.phtml) potom:
{var robots => noindex}
Tohle by se dalo použít i na zmíněné description, u neměnných
stránek napsat do každé šablony var description => popis
,
u proměnlivých například dosadit popisek načtený v prestenteru
v modelu. V @layout.phtml by potom byla ta kontrola isset, kde by se
v případě chybějící description raději nedal tag žádný.
- Michalek
- Člen | 211
A co teprve https://componette.org/search/?… :-)
$this['header']->setRobots('index,follow');
Editoval Michalek (17. 7. 2010 22:38)