polecenie:
skąd pobiera dane?Kod PHP:
<jdoc:include type="metas" />
polecenie:
skąd pobiera dane?Kod PHP:
<jdoc:include type="metas" />
Prawdopodobnie najlepszy serwis komputerowy w Londynie -> https//ictlaboratory.com
Nie pamiętam dokładnie ale od pewnego czasu istnieje taki mechanizm w Joomli jak szablon potomka. Nie korzystałem jeszcze z tego i nie pamiętam czy to nie dotyczy wyłącznie css i js. Tutaj mogę się mylić, jednak warto sprawdzić wówczas ominiesz problem aktualizacji.
Zresztą do zaplecza możesz zmodyfikować kod mojego pluginu https://github.com/rkonikpl/rkonik-G.../rkonikgtm.php
usuń
Po tej zmianie możesz dodać do frontu i backendu ten sam kod.Kod PHP:
if ( $app->isClient('administrator') )
{
return;
}
Plugin jest przygotowany do wdrażania Google Tag Manager ale nic nie szkodzi na przeszkodzie by go zmodyfikować do własnych celów.
Wszystko jest podane w tym "nielubianym" szablonie Cassiopea (pewnie dlatego że jest tam użyty grid a nie fluid)
Korzystasz z klasy Web AssetManager.
oraz np metody odpowiedzialnej za dodawanie skryptu https://api.joomla.org/cms-4/classes...ddInlineScript
danymi źródłowymi są pliki js and css umieszczone w katalogu szablonu "media" (w przypadku Cassiopei dane początkowe pobierane są z definisji w pliku json).
co do "metas" to są to dane pobierane z tagów <meta>, więc jeśli zdefiniujesz te parametry to zostaną one zaciągniete właśnie tym poleceniem
co do szablonu potomnego, to jest on możliwy tylko jeśli szablon główny jest prawidłowo do tego przygotowany. Szablon potomny dotyczy wszystkiego nie tylko js i css, w ten sposób można dokonać override'a szablonu, w pełnym zakresie.Kod:<jdoc:include type="metas" />
Zrobiłem. Dla potomnych:
do pliku index.html przed znacznikiem </Head> wkleić:
i w pliku templateDetails.xml przed znacznikiem </extension>Kod:<!-- Google tracking script --> <?php if ($this->params->get('trackingID')) : ?> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=<?php echo $this->params->get('trackingID'); ?>" ></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', '<?php echo $this->params->get('trackingID'); ?>'); </script> <?php endif; ?>
i teraz w opcjach templatki w advanced pojawi się dodatkowe pole w które wpisujem tracking ID wygenerowany przez google analitics.Kod:<config> <fields name="params"> <fieldset name="Advanced"> <field name="trackingID" type="text" label="TPL_SIMPLE_TRACKING_ID" description="TPL_SIMPLE_TRACKING_ID" default="" filter="string" /> </fieldset> </fields> </config>
Ostanio edytowane przez qrdziel : 19-01-2023 17:03 Powód: Rozwiązanie
Prawdopodobnie najlepszy serwis komputerowy w Londynie -> https//ictlaboratory.com
Pierwsza lepsza aktualizacja i od nowa musisz wprowadzać zmiany
Nie musisz. Utwórz szablon potomny (robisz to na zapleczu). Tworzenie szablonu potomnego jest bardzo proste. Tworzysz, dodajesz własny plik index.php i inne, w których dokonujesz zmian, których potrzebujesz. Szablon potomny korzysta z plików szablonu rodzica (czyli w tym przypadku Cassiopei) i z Twoich zamiast oryginalnych (Twoje "nadpisują" pliki oryginalne ).