Smarty include, extend 13 paź 2015 11:46 "Ernest" ernest@poczta.tarman.pl napisał(a):
Witam !!!
Myślę, że podejście Chillan`a jest bardziej "user-friendly" ;) za to mam pytanie. W jaki sposób radzicie sobie z nakładaniem szablonów na siebie? Chodzi o to, że powiedzmy mamy 2 różne pluginy, które modyfikują ten sam zestaw szablonów.
W dniu 10/08/2015 o 07:37 PM, Maciej Lew pisze:
Co masz przez to na myśli? Odebranie danych z jakiegoś managera i wciśnięcie ich w pętlę hooków? Czy coś innego?
W dniu 08.10.2015 o 19:16, Tomasz Chiliński pisze:
W dniu 08.10.2015 19:11, Maciej Lew napisał(a):
Nie widzę uniwersalnego rozwiązania takiego problemu. Można by mechanizmami refleksji spróbować z wnętrza pluginu sprawdzić czy inny plugin już przesłonił domyślnego managera którego również aktualny plugin chce przesłonić i w jakiś sposób ostrzec użytkownika przed konfliktem.
W praktyce okazuje się, że najlepiej realizować kaskadowe zmiany w manager-ach nie przez tworzenie potomnego managera, a kaskadowe/potokowe przetwarzanie wyników.
W dniu 08.10.2015 o 19:03, Tomasz Chiliński pisze:
W dniu 08.10.2015 18:44, Maciej Lew napisał(a):
Mówiąc o innych sposobach miałem na myśli wstrzykiwanie zależności w LMS. W tym celu LMS został w większości przerobiony na fasadę dla "managerów". W klasie LMS są specjalne metody pozwalające zastąpić domyślnych managerów własnymi.
Cześć,
w jaki sposób rozwiązujesz kaskadowe (łańcuchowe) tworzenie managerów tak, żeby np. z wielu wtyczek jednocześnie móc modyfikować tego samego managera?
W dniu 08.10.2015 o 12:50, Ernest pisze:
Witam !!! > Panie Maćku, > dzięki za wyjaśnienie i pomoc! > > Zastanawiam się czy nie można w jakiś sposób dodać > "automagicznie" ;) hook`ow przynajmniej przed wyświetleniem danego > szablonu? > Takie cuś załatwiłoby praktycznie wszystkie pluginy dodające > coś do wyświetlanej treści. > > Druga sprawa to nadpisywanie szablonów. > Jeżeli "poprawiamy" dany blok w którym są includy innych plików > np. > <************************* > {extends file="layout.html"} > {block name=title}::: LMS :{$layout.pagetitle|striphtml} :::{/block} > {block name=module_content} > <!--// $Id$ //--> > {$xajax} > <H1>{$layout.pagetitle}</H1> > <TABLE style="width: 100%;"> > <TR> > <TD style="width: 100%;"> > {include file="netdev/netdevinfobox.html"} {*-----ten > plik występuje w oryginalnych szablonach i w pluginie----*} > ..... > <***************************** > > i załączany plik ma taką samą nazwę jak istniejący to smarty > wyświetla plik oryginalny > (taki przynajmniej przypadek był u mnie i jak przypuszczam u kolegi > Jarosława /plugin do mikrotika/) > W jaki sposób można się przed takim problemem uchronić (poza > zmianą nazwy pliku załączanego) ?? > > Co do innej drogi wykonania zadania to chyba właśnie po to trwają > prace nad systemem wtyczek żeby nie trzeba było gmerać w kodzie > silnika. > > Funkcjonalność która się właśnie przepisuje trochę zmienia > podejście do połączeń pomiędzy urządzeniami. > Zamiast(albo obok) zapisywania linków ptp bez wyraźnie > określonego kierunku dodaję tabelę, w której zapisywane są > relacje w stylu wiele do jednego (czyli np switch5 ma port UPLINK(nr > np. 1) i łączy się ze switchem3 (na port 5), > > przykładowa tabela: netdevid,uplinkport,dstnetdevid,dstport....(tu > oczywiście dane linku: typ,prędkość) > > pozwala to stworzyć wyraźne drzewo(ścieżkę) połączeń od > urządzeń końcowych aż do głównego routera sieci. > Czyli będąc na jakimkolwiek urządzeniu jestem w stanie > jednoznacznie określić na jakim porcie otrzymuje ono sygnał a na > jakich przesyła go dalej. > Dodatkowo od najwcześniejszych wersji LMS`a denerwowało mnie > "ręczne"(właściwie to pamięciowe) określanie numerów portów w > połączeniach dlatego dopisuję do wtyczki okienko ajaxowe na > zasadzie wybierania adresu IP. > > Jak skończę to jeśli będą chętni podzielę się wynikami ;) > > Uff ale się rozpisałem ;) > > Pozdrawiam > Michal Szmigielski > /ernesttar/ > > W dniu 10/06/2015 o 07:14 PM, Maciej Lew pisze: > Przeszukaj sobie projekt pod kątem występowania metod > "executeHook". Nie są one jeszcze dodane w każdym module, raczej > zostały dodane tam gdzie komuś opłacało się je dodać. > Przejrzenie wszystkich modułów i dodanie hooków to strasznie > dużo roboty i raczej nikt tego nie zrobi tylko po to żeby były i > czekały aż komuś staną się przydatne. Jeśli potrzebujesz > gdzieś hooka gdzie go nie ma to myślę że jak przygotujesz > odpowiedniego commita do głównej gałęzi to zostanie on > przyjęty. > > Istnieje także możliwość że to samo zadanie da się zrobić w > inny sposób, bez dodawania hooka. Ale musiałbyś bardziej opisać > co chcesz osiągnąć. > > W dniu 06.10.2015 o 16:05, Marcin pisze: > > Nazwy uchwytów masz w kodzie są różne w zależności od miejsca > 6 paź 2015 16:02 "Ernest" ernest@poczta.tarman.pl napisał(a): > > Witam !!! > > Próbuję właśnie poprzepisywać swoje "dodatki" na pluginy. > Jako, że programista ze mnie dość marny mam pytanie. > W jaki sposób definiować "uchwyty" (Handlers)? > > Z tego co zrozumiałem, to w poszczególnych modułach są > umieszczone wpisy typu > "$LMS->executeHook('useradd_validation_before_submit', > array('useradd' => $useradd,...." > czyli uchwyty są zdefiniowane w silniku skryptu. > > Zatem wygląda na to, że jest ich trochę mało. > > Dodam, że system "wtyczkowy" szalenie mi się podoba z tego > względu, że nie ingeruje bezpośrednio w kod silnika co jest > dość problematyczne (co użytkownik to inne potrzeby więc i inne > modyfikacje kodu/bazy danych). > > Pozdrawiam > Michal Szmigielski > /ernesttar/ > _______________________________________________ > lms mailing list > lms@lists.lms.org.pl > http://lists.lms.org.pl/mailman/listinfo/lms > > _______________________________________________ > lms mailing list > lms@lists.lms.org.pl > http://lists.lms.org.pl/mailman/listinfo/lms >
-- lion.net.pl - wdrożenia i rozwój Lan Management System
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
-- lion.net.pl - wdrożenia i rozwój Lan Management System
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms