Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZendFramework] Powtarzające się boxy na stronie
Fraglesss
post 24.11.2010, 17:37:51
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
PawelC
post 24.11.2010, 17:44:34
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 smile.gif generalnie, przestudiuj tą stronę, a wiele rzeczy się nauczysz smile.gif Jest tam też, wzmianka o powtarzających się elementach na stronie.
Go to the top of the page
+Quote Post
Fraglesss
post 24.11.2010, 17:50:40
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 24.11.2010, 17:54:34
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 smile.gif gdzie się wrzuca, powtarzający kod itp
Go to the top of the page
+Quote Post
Fraglesss
post 24.11.2010, 18:19:09
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


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 24.11.2010, 23:04:00
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 24.11.2010, 23:27:34
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 25.11.2010, 14:33:57
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 25.11.2010, 17:05:56
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 25.11.2010, 21:30:12
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 25.11.2010, 22:02:05
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 winksmiley.jpg

Ten post edytował melkorm 25.11.2010, 22:02:19


--------------------
Go to the top of the page
+Quote Post
Deamos
post 30.11.2010, 01:33:44
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 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 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 30.11.2010, 21:04:07
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 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 6.12.2010, 21:15:16
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 questionmark.gif aby zmieniać pole gdzie ma iść render można użyć viewRenderera z opcją setResponseSegment() questionmark.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 27.06.2025 - 00:48