PDA

Zobacz pełną wersję : Nadpisywanie w framework? - Jak do tego podejść?



rkonik
08-08-2023, 15:13
Jest w stanie ktoś podzielić się wiedzą jak podchodzi do tematu nadpisywania w gdy używa framework-a?
Mam na myśli sytuację taką jak instalacja np Helix lub innego frameworka i chcę nadpisać wygląd modułu. Gdy tworzę szablon od zera to jasna sprawa w katalogu html dodaję nadpisanie i sprawa załatwiona.
Jak robicie to właśnie we framework-u też w katalogu html? Nie będzie problemu przy aktualizacji? Czy może macie jakiś inny patent?

terra
08-08-2023, 21:39
Nie do końca rozumiem, co masz na myśli mowiąc o nadpisywaniu framework'a.
Wszystkie rozszerzenia, zgodnie ze sztuką nadpisujesz poprzez poprzez katalog HTML.
Niestety zdrzają się tacy ***** jak np twórcy helix'a, którzy tworzą własny "ecosystem", który wymaga innego sposobu nadpisywania, więc w takim przypadku należy pytać "Tfurców" (tutaj masz nadpisywanie helix https://www.joomshaper.com/documentation/helix-framework/helix-ultimate-2/template-views-override ).
Najlepiej unikać takich rozwiązań, które potem rzutują na Joomla, a z Joomla maja niewiele wspólnego.

Jeśli chcesz uniknąć problemów, przy aktualizacjach to Istnieją 2 poprawne formy rozszerzenia Joomla:
1. katalog HTML
2. rozszerzenie istniejącej klasy Joomla *

*po to istnieje programowanie obiektowe i stosowanie przestrzeni nazw

rkonik
09-08-2023, 12:43
Może źle się wyraziłem. Chodzi mi o nadpisanie nie samego framework-a a modułów, komponentów.
Powiedzmy dla ułatwienia niech to będzie moduł ścieżki powrotu (breadcrumb)
Zgodnie z tym co pisałem wcześniej jak tworzę własny szablon to wrzucam odpowiedni plik do katalogu HTML i sprawa jasna (nie poruszam szczegółów jaki bo nie o to chodzi)
Natomiast trafił mi się super prosty projekt i zwyczajnie idę na łatwiznę. Właśnie tutaj pojawił się problem nadpisywania.
Teraz po twoim linku ewidentnie mi otworzyłeś oczy że to są "Tfurcy".
Czy o każdym framework-u masz takie zdanie czy jednak któryś na tym tle się wyróżnia? Mam na myśli proste projekty gdzie liczy się szybkość wdrożenia ale bez nadpisania zwyczajnie czasem się nie da.

Bardzo dziękuję otworzyłeś mi bardzo szeroko oczy.

terra
09-08-2023, 13:37
Nadpisanie albo overriding, to jest właściwa technika dla zmian Joomla, ktore nie ingerują w rdzeń systemu. Po to został zaimplementowany, aby z niego korzystać, natomiast każdy framework, który to zmienia staje się problemem.
Joomla nie jest w stanie zaoferować wszystkiego, czego oczekuje użytkownik, dlatego można i należy:
1. stworzyć dowolne rozszerzenie (zgodnie z zasadami budowy API)
2. zrobić nadpisanie (zgodnie z zasadami, czyli HTML)

Wszystko powinno byc robione w ten sposób, aby nie naruszać rdzenia Joomla. Dodatkowe framework'i, generatory, maję tę zaletę, że pomagają zautomatyzować lub przyspieszyć tworzenie np. szablonu,
czy rozszerzeń, ale głównie autorom. Użytkownik, który w poczatkowej fazie jest zadowolony, z kreatora szablonu, w dłuzszym okresie czasu ma problem.
Przy aktualizacji Joomla, a zwłaszcza przy migracji, okazuje się że coś przestaje działać, albo nic nie można zrobić, dopóki autor framework'a, nie weźmie się do roboty i nie przygotuje zmian.
Jest też dodatkowy problem, ponieważ zawęża się grupa dostępnych developerów, ktorzy powinni znac się na Joomla i na stosowanym framework'u.
Nie bedę tutaj rozszerzał wątku nadmiernego kodu i spowolnienia Joomla, ale ostatecznie Joomla musi konsumować wszystkie problemy z framework'ami, mimo że nie są one jego częścią.

Oczywiście Ganry, Helix, t3, Jsn, Astroid, Youtheme , wygladają fajnie, pomagają uzytkownikom, ale to jest trochę jak z fabrycznym samochodem, który tunningujesz u "masterklepki", potem możesz jeździć już TYLKO do "majsterklepki" bo większość fabrycznych serwisów, nie chce mieć z tym nic wspólnego.

Dodatkowy framework jest jak tworzenie samodzielnego systemu, a Joomla jest na tyle elastyczny, że w ogóle tego nie potrzebuje.

rkonik
09-08-2023, 15:17
Dziękuję bardzo. Bardzo dużo mi pomogłeś.

Twoja argumentacja mnie przekonuje i staje się dodatkowym argumentem w rozmowie z klientami.
Jednak istnieją sytuację w których czas i cena odgrywają kluczową rolę. Czasem jest tak że nawet klient jest informowany o przyszłych problemach a mimo wszystko się godzi bo na start jest taniej i szybciej. Niemniej jednak, temat ten wymaga odrębnej dyskusji, aby nie odchodzić od głównego zagadnienia.

Dla mnie jest już wszystko jasne, pomogłeś bardzo dużo. Zachęcam innych do dyskusji jeżeli mają inne pomysły lub poglądy na ten temat. Jeszcze raz dziękuję.

terra
09-08-2023, 16:06
Nie widzę problemu z czasem, nawet więcej, jeśli nie stosujesz framework'a mozesz działać szybciej, ale trzeba zmienić myslenie o szablonie. Nie próbować rozwiazyać wszystkiego szablonem, tylko rozszerzeniami.

Bazyl
09-08-2023, 17:07
Możesz mieć swój "framework".
To podstawowy szablon stworzony przez Ciebie (dodatkowo odchudzony!), który rozbudowujesz odpowiednio do potrzeb klienta.
Z czasem masz nadpisane wszystkie widoki...

Ja tak działam.
Np. nie używam Bootstrapa...

rkonik
10-08-2023, 15:10
ale trzeba zmienić myslenie o szablonie. Nie próbować rozwiazyać wszystkiego szablonem, tylko rozszerzeniami.
Właśnie to spowodowałeś u mnie. Jestem Ci bardzo wdzięczny.



Możesz mieć swój "framework".
To podstawowy szablon stworzony przez Ciebie (dodatkowo odchudzony!), który rozbudowujesz odpowiednio do potrzeb klienta.
Z czasem masz nadpisane wszystkie widoki...

Ja tak działam.
Np. nie używam Bootstrapa...

Mieć swój framework to tak trochę wymyślanie koła na nowo ale rozumiem co chciałeś przekazać. Pierwsze co mi przychodzi na myśl to Underscores dla konkurencyjnego CMS-a.
Bootstrap to długi temat nie wchodźmy w to. Dziękuję za pokazanie innego podejścia.
Wbrew pozorom te parę wpisów od was mi bardzo pomogły. Wielkie dzięki.

terra
10-08-2023, 17:38
Możesz mieć swój "framework".
To podstawowy szablon stworzony przez Ciebie (dodatkowo odchudzony!)
Sry Bazyl (http://forum.joomla.pl/member.php?14086-Bazyl), ale nie do końca nazwałbym to framework'iem :), raczej własnym szablonem. Mowiąc o framework'u mówiłem raczej o sytuacji, gdy autorzy obudowują standardowe klasy Joomla własnymi rozwiazaniami, które nie są w stanie działać bez dodatkowego oprogramowania i wymuszają metody, które nic nie mają wspólnego z Joomla, np. t4. To prawda że jest to niezłe rozwiązanie, ale zaczyna być odrębnym bytem. Tak naprawdę znajomość Joomla to za mało bo teraz jeszcze trzeba opanować znajomość T4, żeby przygotować szablon. A co z tą wiedzą, gdy zastosujesz Gantry, JSN ten sam problem. A co ze standardowa operacją jak overriding, gdy stosujesz framework itd...?

Bazyl
11-08-2023, 00:23
nie do końca nazwałbym to framework'iem

dlatego użyłem ciapek ""
;-)

Pozdrawiam!

terra
11-08-2023, 10:32
ok, nie zwróciłem uwagi :)