Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] Jak przenieść addMeta do widoku
Forum PHP.pl > Forum > PHP > Frameworki
mrjozo
Witam,



W akcjach mam taki kod:

  1. <?php
  2.  public function executeShowArticle()
  3.  {
  4.      $this->article = ArticlesPeer::getArticle($this->getRequestParameter('id',1));
  5.      $this->forward404Unless($this->article);
  6.  
  7.      $this->getResponse()->addMeta('title', $this->article->getTitle().' '.sfConfig::get('app_mymetas_title'));
  8.      $this->getResponse()->addMeta('description', $this->article>getTitle().' - '.$this->article->getDescription().' '. sfConfig::get('app_mymetas_description'));
  9.      $this->getResponse()->addMeta('keywords', $this->article->getTitle().' '. sfConfig::get('app_mymetas_keywords'));
  10.  }
  11. ?>




ustawianie danych meta nie powinno znajdować się w akcjach dlatego chciałbym to przenieść do widoku, zamiast:

  1. <?php include_metas() ?>
  2.  
  3. <?php include_title() ?>



dałem:

  1. <? include_slot('title'); ?>
  2.  
  3. <? include_slot('description'); ?>
  4.  
  5. <? include_slot('keywords'); ?>


teraz w każdym layoucie muszę dodawać slota, a w niektórych mam po prostu metatagi takie same więc niepotrzebnie duplikuję kod, czy można to jakoś inaczej rozwiązać albo ustawić jakoś domyślne wartości dla slotów?
sticker
tam gdzie masz dynamiczne headery możesz wykorzystać filtr który przy renderowaniu doda meta tagi.

co do powatarzających sie meta tagów to po prostu użyjpliku konfiguracyjnego view.yml http://www.symfony-project.org/book/1_0/07...-the-View-Layer
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.