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. |
|
|
|
![]() |
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.
|
|
|
|
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.
|
|
|
|
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
|
|
|
|
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ę. |
|
|
|
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 |
|
|
|
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 |
|
|
|
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:
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 |
|
|
|
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~~. |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 444 Pomógł: 79 Dołączył: 26.05.2009 Ostrzeżenie: (0%)
|
|
|
|
|
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 |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 28.11.2010 Ostrzeżenie: (0%)
|
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 |
|
|
|
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. |
|
|
|
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)
|
|
|
|
![]() ![]() |
|
Aktualny czas: 22.12.2025 - 22:40 |