CMS

Wyświetlanie modułów w treści artykułów – Joomla! 2.5

Ostatnimi czasy zauważyłem dość sporą liczbę zapytań w statystykach wortalu odnośnie Joomla! 2.5, a dokładniej wstawiania modułów w dowolnym miejscu w artykule. Sprawa wydaje się prosta, jednak z racji tej, ze żaden z moich poradników nie opisuje tej kwestii, oddaję w Wasze ręce ten oto krótki tutorial.
Może od początku – czym jest moduł? Moduł jest chyba najprostszą formą rozszerzeń systemu Joomla!, pozwalającą na wyświetlanie pożądanych przez nas (administratorów) informacji. Elementy, które mogą być umieszczane jako małe dodatki, to np. pola wyszukiwania, formularze logowania, menu, czy banery reklamowe i zwykły kod HTML. Co tu dużo mówić, przejdźmy do praktyki.

Włączanie dodatku „wpinacz modułów”

Aby wyświetlanie modułów w artykułach miało miejsce, musimy zapewnić sobie, ze działać będzie dodatek wpinacza modułów.
Przejdźmy w menu głównym zaplecza do pozycji Rozszerzenia > Dodatki, a następnie znajdźmy w/w rozszerzenie.

Jeśli dodatek jest wyłączony (czerwone kółeczko w miejscu zielonego), musimy na nie kliknąć, aby zmienić jego stan.
Od teraz mamy do dyspozycji całkiem ciekawe narzędzie.

Umieszczanie modułów z pozycji zdefiniowanej w szablonie

Spójrzmy na przykładową listę modułów. Są one przypisane do pozycji wcześniej zdefiniowanych w szablonie (w pliku templateDetails.xml). Dwa z nich znajdują się w miejscu o nazwie position-7.

Aby wywołać je, podajemy w treści artykułu klauzulę {loadposition}:

{loadposition position-7}

Oczywiście w miejscu position-7 podajemy swoją, zdefiniowaną pozycję. Sprawdźmy, jak moduły wyświetlają się w naszym artykule.

Pojawił się panel logowania. Wszystko, jak dotąd, działa dobrze.

Wstawianie modułów z pozycji, która nie istnieje w szablonie

Programiści Joomla! przemyśleli pewną kwestię dotyczącą umiejscawiania modułów w różnych pozycjach. Nie jesteśmy ograniczeni tylko i wyłącznie do wcześniej zdefiniowanych miejsc, ale możemy wpisywać też własne, wymyślone. Przekonajmy się, czy moduł przypisany do urojonej pozycji wyświetli się nam tak jak poprzednio. Zmieńmy nazwę pozycji dla panelu logowania. Niech będzie to np. „logowanie”.

Nową nazwę musimy wpisać ręcznie, ponieważ nie znajduje się ona na liście. Teraz pozostaje nam tylko edycja klauzuli w treści artykułu. Musimy ją dopasować do pozycji „logowanie.”

{loadposition logowanie}

Efekt jest ten sam. Wewnątrz artykułu pojawił się panel logowania, który wcześniej edytowaliśmy.

Umieszczanie konkretnego typu modułu

Jest jeszcze jedna, ciekawa opcja. W treści artykułu możemy umieszczać nie tylko moduły z danej pozycji, ale też konkretny typ modułu, nigdzie wcześniej nie utworzony. Jak na pewno pamiętacie, na liście włączonych modułów nie było wyszukiwarki. Dodamy ją teraz samą klauzulą wewnątrz artykułu.

{loadmodule mod_search}

Sprawdźmy efekty.

Pole wyszukiwania działa. Oczywiście w miejscu mod_search możemy podawać inne typy modułów. Oto lista najczęściej wykorzystywanych.

  • mod_breadcrumbs – ścieżka aktualnej strony
  • mod_articles_latest – ostatnio dodane artykuły
  • mod_articles_popular – najpopularniejsze wpisy
  • mod_banners – banery
  • mod_feed – kanał rss
  • mod_footer – informacje o Joomla! w stopce
  • mod_login – panel logowania
  • mod_menu – menu witryny
  • mod_search – wyszukiwarka
  • mod_user_latest – nowi użytkownicy
  • mod_whosonline – goście online

Jeśli potrzebujecie inne, warto spojrzeć na nazwy folderów w katalogu www.mojastrona.pl/modules/.
Mam nadzieję, że ten poradnik będzie Wam przydatny. W razie kłopotów i pytań, proszę umieszczać je tylko i wyłącznie w komentarzach poniżej.

komentarzy 10

  • Awatar
    Joanna Ewa

    1 czerwca 2012 20:07

    Czy są jakieś ograniczenia co do typu modułów, które można w ten sposób umieszczać w treści artykułów? Udało mi się ‚przećwiczyć procedurę’ na stosunkowo prostych modułach i wszystko działało; kiedy jednak wpisałam {loadmodule mod_aidanews2} oczekiwany moduł się nie pojawił………

    Odpowiedz
  • Awatar
    Łukasz Piwnicki

    6 listopada 2012 16:22

    Czy jest możliwość umieszczenia modułu za pomocą polecenia {loadmodule ….} w już opublikowanych artykułach? Czyli chodzi o zadziałanie wstecz? Czy też konieczne jest otworzenie każdego artykułu i dodanie polecenia loadmodule do każdego artykułu?

    Odpowiedz
    • Awatar
      Michał Kortas

      6 listopada 2012 23:24

      Nie wiem, czy istnieje jakiś dodatek usprawniający tę robotę, ale prawdopodobnie czeka Cię ręczna robota ze wstawianiem polecenia loadmodule.

      Odpowiedz
  • Awatar
    jadowity

    2 grudnia 2012 02:39

    Czy istnieje podobny sposób na artykuły w K2?

    Odpowiedz
  • Awatar
    Cyr4x

    20 lutego 2013 12:06

    Ja noszę się z takim problemem: zrobiłem moduł własny z własnym tekstem. Chcę go wstawić przed tytułem artykułu, czyli najprościej w pozycji top_banner. Z tym, że po wejściu w menu w daną kategorię jest lista artykułów. Nad tą listą też pojawia się ten moduł. Jak zrobić, żeby wyświetlany był tylko w treści artykułów, a na liście już nie? Jak użyję loadmodule, będzie zawsze pod tytułem artykułu.

    Odpowiedz
  • Awatar
    slawek

    16 kwietnia 2013 20:52

    witam,
    prosze o sprostowanie jesli cos zle robie: sprawdzilem, ze jest aktywny wpinacz modułów, potem w artykule zapisalem {loadposition Main Menu} czy {loadmodule mod_menu} po wyswietleniu artykulu zamiast jakiekolwiek efektu, widze wpisy w nawiasach {…}. Próby te wykonuje na joomla 2.5

    Odpowiedz
    • Awatar
      Alono

      4 września 2015 02:45

      Lepiej późno niż wcale – odpowiedź dla potomnych. W takiej sytuacji przełącz
      edytor na widok „Kod źródłowy” i wyczyść wszystko co tam masz. Następnie
      wróć do edytora WYSWIG – czyli tego normalnego, w którym piszesz artykuł i dodaj {loadposition nazwa_modulu}. Powinno zadziałać. Może komuś to się przyda.

      Odpowiedz
  • Awatar
    krzysztof

    2 września 2013 23:08

    Witaj a jaki jest sposób żeby w formularzu logowania dołożyć albo wykasować jakąś linijkę, np dodać Model posiadanego samochodu ?

    Odpowiedz

Zostaw odpowiedź