Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] Helper w helperze
piraciq
post 5.05.2012, 07:01:04
Post #1





Grupa: Zarejestrowani
Postów: 174
Pomógł: 4
Dołączył: 27.07.2007
Skąd: Kraków

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


Witam

mam sobie helper który robi mi miniaturki chciał bym go użyć w innym helperze.

Teoretycznie działa jeśli nie ma zadnej akcji jest index/index w przypadku gdy wybiorę akcje dostaje komunikat:
Warning: include_once(Zend/View/Helper/Showobjectimage.php): failed to open stream: No such file or directory in /library/Zend/Loader.php on line 146
Warning: include_once(): Failed opening 'Zend/View/Helper/Showobjectimage.php' for inclusion (include_path='/application/../library:/library:.:/usr/share/php:/usr/share/pear') in s/library/Zend/Loader.php on line 146 Fatal error: Class 'Zend_View_Helper_Showobjectimage'

Jest to aplikacja na modułach.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
ze4lot
post 21.06.2012, 12:52:00
Post #2





Grupa: Zarejestrowani
Postów: 54
Pomógł: 1
Dołączył: 29.03.2007
Skąd: Kraków

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


Nie powinno się robić takich sztuczek ponadto patent działa Ci tylko na domyślnej akcji gdyż prawdopodobnie masz pokopane ścieżki do helperów.
"mam sobie helper który robi mi miniaturki" - helper przygotowuje do wyświetlania, robić miniaturki powinna jakaś osobna klasa/biblioteka.
Zrób np. dwa osobne helpery korzystające z partiala - wszystko jest uwarunkowane tym co dokładnie robią twoje skrypty i co chcesz osiągnąć.


--------------------
ze4lot.pl
Go to the top of the page
+Quote Post
zend
post 24.06.2012, 12:21:27
Post #3





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


Cytat
Nie powinno się robić takich sztuczek
- mozesz rozwinąć? Pytam bo sam nieraz korzystam z takiej funkcjonalności i spisuje się naprawdę dobrze.

Jeśli ten helper do którego się odwołujesz jest w tym samym module, to taki problem nie powinien wystąpić. Natomiast jeśli helper jest w innym module w modules/xxx/script/helpers to musisz go przenieść do innej lokalizacji np My_View_Helper_TwojHelper, potem najlepiej w bootstrapie "zarejestrować" go $view -> registereHelper($helperinstance, "twojhelper");. Jeśli nie chcesz, to nie musisz go oczywiście przenosić, możesz też zrobić tak
  1. include_once "modules/xxx/scripts/helpers/TwojHelper.php"
  2. $view -> registerHelper( new Zend_View_Helper_TwojHelper(), 'twojHelper' );
Go to the top of the page
+Quote Post
irmidjusz
post 24.06.2012, 22:55:32
Post #4





Grupa: Zarejestrowani
Postów: 279
Pomógł: 60
Dołączył: 25.02.2012

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


Z tego co pamiętam, jeśli chcesz użyć view helper z innego modułu, to nie było problemu z tym, gdy ów helper znajdował się w module default, czyli standardowo applications/views/helpers, zawsze go wówczas plugin loader znajdzie.


--------------------
there is much to be learned
Go to the top of the page
+Quote Post
ShadowD
post 25.06.2012, 11:40:03
Post #5





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Standardowo katalogiem helperów jest tylko katalog views/helpers w module default, można dodać nowe katalogi, także w My_helpers wystarczy użyć komendy addHelperPath() można w ten sposób dodać sobie helpery w każdym module, niestety trzeba się bawić ręcznie z każdym oddzielnie. Loader przeszukuje wszystkie katalogi (w kolejności ich dodania) aż znajdzie odpowiedni helper.

steHelperPath() - podobne, ale przed dodaniem czyści całą listę więc nie mylić, lub rejestrować na początku, potem dodawać. :-)


--------------------
Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube

Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince
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: 14.08.2025 - 06:30