Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] layout.php i sf_content
Forum PHP.pl > Forum > PHP > Frameworki
mr_aaa
Witam

Od jakiegoś czasu poznaję symfony

Mam taki kod w templates/layuot.php w frontendzie:

  1. <div class="category_header">HEADER</div>
  2. <div class="pasek_sortuj"></div>
  3. <div class="middle_content">
  4. <?php echo $sf_content ?>
  5. </div>


Tam gdzie header chciałbym zastosować include_partial - zastosowałem go w moim module i jego template - indexSuccess.php:
  1. <?php include_partial('produkt/header', array('kategories' => $kategories)) ?>


Chciałbym żeby ten include_partial się wyświetlił w głównym layoucie.

Znam taką receptę - wsadzić ten kod html z głównego layoutu do każdego używanego template w danym module i wtedy tam gdzie HEADER dać mojego include_partial, jednak jak wiadomo będę musiał powtarzać sporo kodu.

Czy da się jakoś temu zapobiec?
l3l0
Cytat(mr_aaa @ 17.01.2011, 12:06:20 ) *
Czy da się jakoś temu zapobiec?


Witam,

Stwórz sobie komponent. (patrz rodział o komponentach: http://www.symfony-project.org/gentle-intr...the-View-Layer)

  1. <div class="category_header"><?php include_component('product', 'header') ?></div>
  2. <div class="pasek_sortuj"></div>
  3. <div class="middle_content">
  4. <?php echo $sf_content ?>
  5. </div>


w modules/product/actions/components.class.php
  1. class productComponents extends sfComponents
  2. {
  3. public function executeHeader()
  4. {
  5. //$this->categories = wybierz sobie tutaj co potrzebujesz
  6. }


W ten sposób nie musisz powtarzać kodu

Pozdrawiam
mr_aaa
dzięki za rozwiązanie ! smile.gif

pozdrawiam
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.