In Lyra come si può notare dallo schema del database (schema.yml, LyraArticle), esistono campi per impostare su ogni articolo il contenuto di alcuni metatag:
- meta description
- meta keywords
- meta robots
- meta title
Della visualizzazione dei metatag si occupano apposite funzioni helper richiamate nel layout.
apps/frontend/templates/layout.php ... <head> <?php include_http_metas() ?> <?php include_metas() ?> <?php include_title() ?> ... </head> ...
I valori dei metatag si impostano nell'azione show del modulo article utilizzando metodi dell'oggetto response (sfWebResponse) la cui istanza otteniamo con il metodo getResponse().
apps/frontend/modules/article/actions/actions.class.php
public function executeShow(sfWebRequest $request)
{
...
$this->item->setMetaTags($this->getResponse());
}
Il metodo setMetaTags() è implementato nel modello.
lib/model/doctrine/LyraArticle.class.php
class LyraArticle extends BaseLyraArticle
{
...
public function setMetaTags(sfWebResponse $response)
{
$mt = $this->getMetaTitle();
if(!$mt) {
$mt = $this->getTitle();
}
$response->setTitle($mt);
if($mt = $this->getMetaDescr()) {
$response->addMeta('description', $mt);
}
if($mt = $this->getMetaKeys()) {
$response->addMeta('keywords', $mt);
}
if($mt = $this->getMetaRobots()) {
$response->addMeta('robots', $mt);
}
}
...
}
Come si può notare se al momento della creazione dell'articolo non si è inserito alcun valore nel campo meta_title, si utilizza come meta-titolo il titolo dell'articolo, che non può essere vuoto in quanto campo obbligatorio. Gli altri metatag possono invece essere tranquillamente omessi.
Queste poche modifiche sono incluse nella revisione 11 su Google Code.
0 commenti:
Posta un commento