Ostatnio próbowałem usunąć wszystkie instancje Bootstrap z frontonu Joomla w celu debugowania. Użyłem szablonu szkieletu ze stosunkowo nową instalacją Joomla 3.3. Usunąłem wszystkie inkluzje Bootstrap z szablonu i wyłączyłem wszystkie wtyczki i moduły, które, jak sądzę, mogły go ładować. Wyczyściłem również pamięć podręczną Joomla. Mimo to firebug powiedział mi, że Joomla wciąż próbuje załadować bootstrap.min.js z /media/jui/js/bootstrap.min.js
Rozwiązałem ten problem, tymczasowo zmieniając nazwę pliku bootstrap, ale mnie to zastanowiło.
- Czy dzieje się tak w przypadku wszystkich instalacji Joomla 3.3, czy tylko moja?
- Czy istnieje sposób, aby określić, z którego miejsca ładowany jest bootstrap?
- Czy istnieje sposób, aby wyłączyć ładowanie bootstrap?
źródło
Alternatywnym hackem, który zawsze lubię wyrzucać, ponieważ nie wymaga edycji podstawowych plików, jest zastąpienie pliku css pustym plikiem css w szablonie. Nadal będzie to powodować połączenie z serwerem w celu załadowania zasobu, ale nie będziesz musiał mieć stylu bootstrap.
Po prostu dodaj pusty plik tutaj:
templates/YOUR_TEMPLATE/css/jui/bootstrap.min.css
itemplates/YOUR_TEMPLATE/js/jui/bootstrap.min.js
.Oczywiście, każda konfiguracja komponentu do użycia bootstrap będzie wyglądać na niestylizowaną, a przeglądarka nadal będzie wywoływać ładowanie plików css i js. Pliki będą jednak puste (mały rozmiar pliku do pobrania) i nie będą miały wpływu na styl.
źródło
To tylko pomysł (nie przetestowany), ale co powiesz na zbudowanie małej wtyczki, która rozbija Bootstrap?
Coś takiego:
źródło
Jeśli nie chcesz tworzyć własnej wtyczki, prostym rozwiązaniem byłoby wypróbowanie:
Unset in Template
Jednak - niektóre rozszerzenia nadal wstawiają plik js lub css, nawet jeśli go usuniesz. Najbardziej niezawodny sposób, jaki odkryłem, to:
JCC - JS CSS Control Plugin
http://extensions.joomla.org/extensions/extension/core-enhancements/performance/js-css-control
Jednak - czasem nadal będziesz mieć wstawione js w swoim szablonie, więc - czasami będziesz musiał zrobić preg_replace dla wbudowanego js.
źródło
Jest to coś, co mnie wkurzyło od początku Joomla 3.x i do dziś nie zrobiono nic, aby dać użytkownikowi opcję zapobiegania ładowaniu plików bootstrap.
Niestety, Bootstrap jest ładowany z rdzenia Joomla i jest to spowodowane niektórymi podstawowymi funkcjami, które wymagają jego działania, a zatem całkowite usunięcie go uniemożliwi działanie niektórych funkcji, takich jak Etykietka narzędzi.
Jedynym sposobem, aby go usunąć (o czym wiem) jest włamanie do rdzenia w następującym pliku: ( niezalecane )
Jedynym innym sposobem, jaki mogę wymyślić, jest utworzenie zastąpienia szablonu dla każdego modułu, komponentu i wtyczki, które wywołują bibliotekę bootstrap i usuwają ją.
Żadna z metod nie jest dobra, jednak Joomla 3.x została zbudowana na Bootstrap, więc musimy z tym żyć
źródło
Istnieją dwa sposoby:
Odłącz załączone pliki z szablonu, a następnie utwórz przesłonięcie, aby zapobiec włączeniu ich przez dowolny moduł lub komponent (nie tyle pracy, ile się wydaje).
Opcja 2 ma tę zaletę, że jest łatwa w użyciu, ale nadal musisz żyć z marnym Bootstrap 2.x zaśmiecającym twoją stronę. Opcja 1 wymaga nieco więcej pracy, ale oznacza, że możesz usunąć każdy ślad Bootstrap; zawsze moja preferowana opcja. Zobacz http://joomlafuture.com/ na przykład kodu.
źródło
Joomla nie ładuje CSS automatycznie, ale ładuje JS. Jeśli szablon używa standardowej metody do załadowania głowicy Joomla:
Załaduje pliki mootools, jquery i bootstrap w następującej kolejności:
Nie ładuje plików CSS. Możesz to przetestować, usuwając wiersz z pliku szablonu, a następnie sprawdzając, które pliki nagłówkowe giną.
CSS ładowania początkowego jest ładowany przez szablon. Joomla (od 2.5 uważam, że) włączyła Bootstrap 2.x do swoich plików multimedialnych dla łatwego dostępu. Protostar z jakiegoś powodu nie wywołuje bootstrapu z plików multimedialnych. Zamiast tego skopiowali i wkleili cały plik CSS ładowania początkowego do pliku template.css. Inne frameworki nazywają Bootstrap. Na przykład Warp 7 ma pole wyboru, aby włączyć lub wyłączyć Bootstrap.
Ponieważ frontend i backend mają różne szablony, Bootstrap może być ładowany lub wyłączany dla jednego, a nie drugiego. Nie ma zależności, jeśli chcesz wyłączyć Bootstrap z frontonu, a nie z backendu.
Preferuję Bootstrap 3, więc na kilku różnych niestandardowych szablonach pobrałem i umieściłem CSS Bootstrap 3 w mojej głowie szablonu po linii nagłówka Joomla i wewnątrz tagów mojej głowy:
Metoda ta jest nieco inna dla frameworków takich jak Warp 7. Możesz również załadować bezpośrednio z adresu URL CDN bootstrap, jeśli wolisz.
Więc Joomla nie zmusza cię do używania Bootstrap lub jakiejkolwiek wersji Bootstrap, przynajmniej dla CSS. Możesz użyć innych responsywnych ram, jeśli chcesz. Wszystko odbywa się w szablonie. Nie potrzeba hacków ani wtyczek.
źródło
Joomla 3.3 (mniej niż) jest oparty na Bootstrap 2.3, a nie Bootstrap 3.X
Chciałem przeprowadzić migrację do nowej wersji Bootstrap, i było wiele pozycji, które oczywiście musiałem zmienić w zależności od mojego pomysłu. Zrobiłem to, ale bardzo niedawno.
W wielu pozycjach kodu musiałem wyłączyć Bootstrap, taki jak poniżej:
// Dodaj środowiska JavaScript JHtml :: _ ('bootstrap.framework');
i stworzyliśmy w tym celu nowy całkowicie szablon Joomla; ale myślę, że jeśli chcesz przeprowadzić migrację do innego frameworku interfejsu użytkownika, musisz także kontynuować ten proces, a przynajmniej masz ponad 30 komponentów, modułów, wtyczek i niektórych starszych kodów Joomla, które musisz opracować ponownie. To proste, ale wymaga wiele czasu.
Nowa percepcja 02 lipca 2015 r .: w oparciu o metodę „unset” w Joomla, którą niektórzy z naszych znajomych wspominali na tym forum, mogłem całkowicie wyłączyć poprzednią wersję Bootstrap i Mootools lub dowolną inną bibliotekę JavaScript lub plik CSS. Przepraszam, zanim wspomniałem o złym rozwiązaniu. możesz przeczytać ten post, aby uzyskać więcej informacji o wyłączeniu Bootstrap
źródło
Możesz też użyć szablonu z Yootheme, ustawić go jako domyślny, a następnie w konfiguracji szablonu wybierz „nie ładuj bootstrapu”.
źródło