Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] Powtarzające się boxy na stronie
Fraglesss
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 16.03.2009

Ostrzeżenie: (0%)
-----


Witam,
To moja pierwsza przygoda z Zend'em i aktualnie jestem początkujący, ale mam ochotę to zmienić. Piszę CMS'a na potrzeby nauki i chce zrobić stronę na której w sidebarze będą jakieś boxy, np. Lista kategorii, ostatnie wpisy lub inne. Problemem jest to że nie znalazłem rozwiązania. Znalazłem tylko wzmianke o helperach, konkretnie o view helperach, ale nie wiem jak to dalej pociągnąć.

Prosiłbym o jakieś wskazówki, z góry dziękuje.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
PawelC
post
Post #2





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


http://zend-framework.web-portals.pl/ tutaj znajdziesz odpowiedzi na każde pytanie (IMG:style_emoticons/default/smile.gif) generalnie, przestudiuj tą stronę, a wiele rzeczy się nauczysz (IMG:style_emoticons/default/smile.gif) Jest tam też, wzmianka o powtarzających się elementach na stronie.
Go to the top of the page
+Quote Post
Fraglesss
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 16.03.2009

Ostrzeżenie: (0%)
-----


No z tej strony zaczynałem ale nie widzę tam odpowiedzi na to pytanie.
Go to the top of the page
+Quote Post
PawelC
post
Post #4





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


http://www.heavymind.net/zend-framework-tutorial/ a to widziałeś? Jest napisane, zaraz przy tworzeniu aplikacji (IMG:style_emoticons/default/smile.gif) gdzie się wrzuca, powtarzający kod itp
Go to the top of the page
+Quote Post
Fraglesss
post
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 16.03.2009

Ostrzeżenie: (0%)
-----


Nie wiem czy dobrze mnie zrozumiałeś. Pokaże szkic
(IMG:http://img5.imagebanana.com/img/zmaqsh4c/thumb/zend.jpg)

Mam layout, w którym zmienia się content, a po prawej chciałbym właśnie zrobić tą liste kategorii. Nie chce w każdym kontrolerze wywoływać tego samego, nawet nie powinienem, więc może masz jakiś pomysł? Na tej stronie co podałeś również nic nowego nie widzę.
Go to the top of the page
+Quote Post
seth-kk
post
Post #6





Grupa: Zarejestrowani
Postów: 444
Pomógł: 79
Dołączył: 26.05.2009

Ostrzeżenie: (0%)
-----


Jeśli bazujesz na jednym kontrolerze to informacje o kategoriach podajesz w init()
Możesz też to zrobić w kontrolerze bazowym lub wyciągać te informacje w layoucie za pomocą helpera Action
Go to the top of the page
+Quote Post
melkorm
post
Post #7





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


- Kontroler bazowy - Tak.
- Action Helper - Nie
- Helpery dla każdego box'u - Tak.

Ten post edytował melkorm 24.11.2010, 23:27:56
Go to the top of the page
+Quote Post
Fraglesss
post
Post #8





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 16.03.2009

Ostrzeżenie: (0%)
-----


Poszukałem trochę i zbierając wszystko doszedłem do tego:
1. Tworzę helpera w application/views/helpers/CategoryBox.php
2. Klasa:
  1. class Zend_View_Helper_CategoryBox extends Zend_View_Helper_Abstract
  2. {
  3. public function categoryBox()
  4. {
  5. /*... */
  6. }
  7. }

3. W widoku:
$this->categoryBox();

Czy takie rozwiązanie jest poprawne?

W init nie mogę bo mam kilka kontrolerów.

Ten post edytował Fraglesss 25.11.2010, 14:38:29
Go to the top of the page
+Quote Post
melkorm
post
Post #9





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Cytat
Czy takie rozwiązanie jest poprawne?


Tak.

Cytat
W init nie mogę bo mam kilka kontrolerów.


Stwórz sobie kontroler między Twoimi kontroloerami a Action Controllerem Zend'a i wtedy dla wszystkich kontrolerów możesz tam wrzucać łączące je rzeczy jak np. style,skrypty, jakieś funkcje pomocnicze itp~~.
Go to the top of the page
+Quote Post
seth-kk
post
Post #10





Grupa: Zarejestrowani
Postów: 444
Pomógł: 79
Dołączył: 26.05.2009

Ostrzeżenie: (0%)
-----


Cytat(melkorm @ 24.11.2010, 23:27:34 ) *
- Action Helper - Nie

Nie Action Helper tylko Zend_View_Helper_Action w prostszych przypadkach powinien wystarczyć
Go to the top of the page
+Quote Post
melkorm
post
Post #11





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Cytat
Nie Action Helper tylko Zend_View_Helper_Action w prostszych przypadkach powinien wystarczyć

to może :
Cytat
Możesz też to zrobić w kontrolerze bazowym lub wyciągać te informacje w layoucie za pomocą helpera Zend_View_Helper_Action


Co do przypadków, dispatchowanie na nowo całej aplikacji tylko po to by wyświetlić kilka rekordów z bazy jest bezsensu, cały ten helper jest dziwny (IMG:style_emoticons/default/winksmiley.jpg)

Ten post edytował melkorm 25.11.2010, 22:02:19
Go to the top of the page
+Quote Post
Deamos
post
Post #12





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.11.2010

Ostrzeżenie: (0%)
-----


Cytat(melkorm @ 25.11.2010, 22:02:05 ) *
Co do przypadków, dispatchowanie na nowo całej aplikacji tylko po to by wyświetlić kilka rekordów z bazy jest bezsensu, cały ten helper jest dziwny (IMG:style_emoticons/default/winksmiley.jpg)

Też to stosowałem, później zorientowałem się, że każde odwołanie się do tego powoduje odpalenie połowy zenda ponownie, popieram przedmówcę, dziwnie to zrobili.
Osobiście polecam pośredni kontroler ze wszystkim co w layoucie, od całego heada po wszelkie boxy. W zależności od potrzeby we właściwym kontrolerze odnosisz się do pustego zendowskiego kontrolera albo do własnego ze wszystkim co potrzebujesz (IMG:style_emoticons/default/smile.gif)

W samym layoucie polecam używanie placeholderów i ustawianie ich zawartości np. w kontrolorze i $this->partial do includowania szablonów z przekazywaniem własnych zmiennych.

Ten post edytował Deamos 30.11.2010, 01:36:21
Go to the top of the page
+Quote Post
aart3k
post
Post #13





Grupa: Zarejestrowani
Postów: 72
Pomógł: 10
Dołączył: 2.02.2008
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Placeholdery ustawiać w kontrolerze...? Widok zostaw widokowi (IMG:style_emoticons/default/tongue.gif)

Generalnie to polecam naprawdę pójście za maksymą "fat models, thin controllers" - box z ostatnimi postami z forum można wrzucić do
layoutu za pomocą view helpera. W samym view helperze wielkim grzechem nie będzie korzystać z modeli.
Go to the top of the page
+Quote Post
R4D3K
post
Post #14





Grupa: Zarejestrowani
Postów: 144
Pomógł: 12
Dołączył: 16.03.2007

Ostrzeżenie: (0%)
-----


Witam a nie lepiej jest zastosować Zend_Layout (IMG:style_emoticons/default/questionmark.gif) aby zmieniać pole gdzie ma iść render można użyć viewRenderera z opcją setResponseSegment() (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.12.2025 - 22:40