Marek Borzyszkowski

Marek Borzyszkowski Student,
Politechnika Gdańska

Temat: Zend +tworzenie strony z klocków

Witam,

Zaczynam dopiero zabawę z Zendem i zastanawia mnie czy istnieje możliwość tworzenia stron opartych o moduły/klocki. Chciałbym, żeby moduły jakie piszę były wykorzystywane na kilku podstronach, ale nie chciałbym kopiować wszędzie tego samego tylko zrobić czegoś w stylu pliku XML z zawartością strony:

<page>
<content>
<header>
<module id="naglowek" />
<module id="logowanie" />
</header>
<left>
<module id="menu" />
</left>
<right>
<module id="artykuly" />
<module id="artykuly_komentarze" />
</right>
</content>
</page>

To oczywiście tylko i wyłącznie przykład, ale coś w tym stylu chciałbym uzyskać, że w każde miejsce tagu <module> ładuje się konkretny moduł razem z jego widokiem.
Roman Piekarski

Roman Piekarski Programista do
wynajęcia

Temat: Zend +tworzenie strony z klocków

Jasne, ze jest do zrobienia, ale przedewszystkim jest jedna sprawa. Biorac pod uwage twoje pytanie, to nie do konca posiadasz wiedze aby przeprowadzic prawidlowa implementacje (moge sie mylic;)) ZF biorac pod uwage, ze ZF ma naprawde niezla dokumentacje. Widzac to sadze, ze bedzie dla ciebie lepiej, jezeli skozystasz z frameworka, kory z gory dyktuje ci strukture i mechanizmy zapewniajace stan rzeczy ktory pragniesz osiagnac. Zuc okiem: http://symfony-project.com
Oczywiscie to tylko sugestia. Jesli jestes bardzo uparty na ZF to polecam abys przejrzał najpierw zrodla: http://www.magentocommerce.com. Jest to sklep napisany właśnie w oparciu o ZF.

Pozdrawiam
Marek Borzyszkowski:
Witam,

Zaczynam dopiero zabawę z Zendem i zastanawia mnie czy istnieje możliwość tworzenia stron opartych o moduły/klocki. Chciałbym, żeby moduły jakie piszę były wykorzystywane na kilku podstronach, ale nie chciałbym kopiować wszędzie tego samego tylko zrobić czegoś w stylu pliku XML z zawartością strony:

<page>
<content>
<header>
<module id="naglowek" />
<module id="logowanie" />
</header>
<left>
<module id="menu" />
</left>
<right>
<module id="artykuly" />
<module id="artykuly_komentarze" />
</right>
</content>
</page>

To oczywiście tylko i wyłącznie przykład, ale coś w tym stylu chciałbym uzyskać, że w każde miejsce tagu <module> ładuje się konkretny moduł razem z jego widokiem.
Marek Borzyszkowski

Marek Borzyszkowski Student,
Politechnika Gdańska

Temat: Zend +tworzenie strony z klocków

Mnie raczej interesuje czy takie coś jest zaimplementowane. Jak wygląda sprawa stron w zendzie ogólnie. Każda strona = nowy kontroler? Można tworzyć komponenty uniwersalne? Są do tego jakieś metody wspierające?
Grzegorz N.

Grzegorz N. trochę programuje...

Temat: Zend +tworzenie strony z klocków

Witam.

Generalnie każda podstrona to inna akcja.
Akcje grupujesz w kontrolerach, a te w module. Jak to logicznie poukładasz w całość w Zendzie to już Twoja "brocha" ;-)

Co do modułowości - jeśli nie użyjesz żadnego szajsowatego systemu szablonowego (w stylu Smarty), tylko wykorzystasz wbudowany Zend_View to w szablonach możesz używać helperów.
W tym co opisałeś na początku pomocny Ci będzie helper action - wyglądało by to następująco:


<page>
<content>
<header>
<?=$this->action('akcja', 'kontroler', 'moduł')?>
<?=$this->action('akcja', 'kontroler', 'moduł')?>
</header>
<left>
<?=$this->action('index', 'menu', 'moduł')?>
</left>
<right>
<?=$this->action('index', 'articles', 'moduł')?>
<?=$this->action('comments', 'articles', 'moduł')?>
</right>
</content>
</page>


Poczytaj, popróbuj - na pewno znajdziesz jakieś rozwiązanie dla siebie.

Pozdrawiam!

konto usunięte

Temat: Zend +tworzenie strony z klocków

Wykorzystuj raczej view helpery i partiale, niz action helper.
Grzegorz N.

Grzegorz N. trochę programuje...

Temat: Zend +tworzenie strony z klocków

Marcin Bachleda:
Wykorzystuj raczej view helpery i partiale, niz action helper.

$this->action - to właśnie view helper ;-)

partiale nie wszystko załatwiają - mogą służyć głównie do ładowania dodatkowych, statycznych szablonów - trzeba pamiętać że przy każdym wywołaniu partiala trzeba przekazać do niego wszystkie zmienne widoku, jakie chcemy mieć w ładowanym w ten sposób szablonie.

Do wyrenderowania w danym miejscu np. okienka logowania (które nie pojawia się jak już jesteś zalogowany) to zdecydowanie polecam view helper action

Wyciąg z manuala:
The Action view helper enables view scripts to dispatch a given controller action; the result of the response object following the dispatch is then returned. These can be used when a particular action could generate re-usable content or "widget-ized" content.

Pozdrawiam!
Adrian Z.

Adrian Z. IT Project Manager &
PHP Programmer

Temat: Zend +tworzenie strony z klocków

ja myślę że Wam wszystkim chyba chodzi o XSLTAdrian Zdziechowicz edytował(a) ten post dnia 25.11.09 o godzinie 21:31
Grzegorz N.

Grzegorz N. trochę programuje...

Temat: Zend +tworzenie strony z klocków

XSLT - tak, ale kolega na początku pisze:
Zaczynam dopiero zabawę z Zendem i zastanawia mnie czy istnieje możliwość tworzenia stron opartych o moduły/klocki.

Stąd sugestia dot. Zend'a ;-)

Pozdrawiam!

konto usunięte

Temat: Zend +tworzenie strony z klocków

Grzegorz Nowicki:
Marcin Bachleda:
Wykorzystuj raczej view helpery i partiale, niz action helper.

$this->action - to właśnie view helper ;-)

partiale nie wszystko załatwiają - mogą służyć głównie do ładowania dodatkowych, statycznych szablonów - trzeba pamiętać że przy każdym wywołaniu partiala trzeba przekazać do niego wszystkie zmienne widoku, jakie chcemy mieć w ładowanym w ten sposób szablonie.

Do wyrenderowania w danym miejscu np. okienka logowania (które nie pojawia się jak już jesteś zalogowany) to zdecydowanie polecam view helper action

Wyciąg z manuala:
The Action view helper enables view scripts to dispatch a given controller action; the result of the response object following the dispatch is then returned. These can be used when a particular action could generate re-usable content or "widget-ized" content.

Pozdrawiam!

Sam zacytowales powod omijania action helpera. to dispatch a given controller action Oznacza to, ze w kodzie ktory podales Markowi - kilka razy odpalasz cala petle dispatcha - proponuje zrobic najprostszy profil takiego wykonania.

Zreszta - komus juz sie chcialo to napisac - bo jak widac topic na ircowym kanale i komentarze to nadal za malo - http://www.rmauger.co.uk/2009/03/why-the-zend-framewor...

konto usunięte

Temat: Zend +tworzenie strony z klocków

Marek

Innym rozwiazaniem moze byc tez placeholder i wypelnienie go w postDispatchu.
Grzegorz N.

Grzegorz N. trochę programuje...

Temat: Zend +tworzenie strony z klocków

Marcin,

http://www.rmauger.co.uk/2009/03/why-the-zend-framewor... - czytałem to już kiedyś i całkowicie się z tym zgadzam. Marek zaczyna temat z Zend'em, więc powinien poznać go w taki sposób w jaki przewiduje dokumentacja i intencje twórców. Zaawansowane wykorzystanie, profilowanie i pisanie wydajnych aplikacji to kolejny krok.

Pozdrawiam!

Następna dyskusja:

Zend PHP Certification - cz...




Wyślij zaproszenie do