SnakeEater
25.05.2010, 21:14:56
Witam,
Mam problem ze slotami. Właściwie to nie wiem czy właśnie z nimi. Chodzi o to, że mam takiego statycznego diva i chcę żeby był on generowany tylko dla niektórych akcji. Nie przekazuję do niego żadnych danych. Slot definiuje się w templacie, ale u mnie za każdym razem ten "slot" wygląda tak samo, więc nie ma sensu definiować go w templacie. Component slot z tego co przeczytałem służą do bardziej złożonych rzeczy. Czego zatem użyć? Najfajniej by było, zęby wpisać w view że chcę tego partiala generować dla takich akcji i tyle. Chodzi o to, żeby slot nie był definiowany w templacie, ale w layoucie lub partialu. W zależności od akcji dodajemy go lub nie.
eamzeet
31.05.2010, 10:33:20
if(
sfContext::getInstance()->getModuleName()=='module1' && sfContext::getInstance()->getActionName()=='action1' ||
sfContext::getInstance()->getModuleName()=='module2' && sfContext::getInstance()->getActionName()=='action2'
){
include_partial('divModule/divPartial');
}
Dajesz to w layoucie i działa. W ifie podajesz gdzie się ten div ma znajdować.
arecki
31.05.2010, 11:31:30
Zawsze w layoucie możesz zrobić tak:
<?php if(has_slot('nazwa')): ?>
<?php include_slot('nazwa'); ?>
<?php else: ?>
<h1>nie ma slotu</h1>
<?php endif; ?>
a w templatach wybranych akcji:
<?php slot('nazwa'); ?>
<h1>to jest zawartosc mojego slotu</h1>
<?php end_slot(); ?>
Ogólnie
manual