Często muszę utworzyć element menu, który wyświetla moduł w obszarze komponentu, bez żadnej innej zawartości.
Rozwiązuję ten problem, tworząc nowy artykuł i dodając tylko {loadposition mymodule}
w treści artykułu. Następnie tworzę pozycję menu Pojedynczy artykuł dla tego artykułu. Jest to w porządku dla pojedynczego modułu, ale co, jeśli mam 20 różnych modułów, które chcę wyświetlić w ten sposób? Musiałbym stworzyć 20 modułów, 20 (prawie pustych) artykułów i 20 pozycji menu.
Czy istnieją inne sposoby wyświetlania modułu (i nic więcej) w obszarze komponentu szablonu? Wydziwianie? Hacki? Pomysły?
joomla-3.x
joomla-2.5
module
templates
content
johanpw
źródło
źródło
Odpowiedzi:
Zrobiłem to, tworząc pozycję modułu w tym samym miejscu co komponent i sprawdzając, czy moduł jest obecny w tej pozycji, a następnie wyświetl go, w przeciwnym razie przejdź do komponentu:
Przykładowy kod:
Następnie, gdy chcę wyświetlić moduł zamiast komponentu na stronie, tworzę moduł, przypisuję go do tego elementu menu i gotowe.
Mała uwaga boczna:
Dla wygody i większej przejrzystości sugeruję nazwać tę pozycję modułu czymś w rodzaju „moduł treści”, „moduł główny” lub „moduł”. Wszystko, co przypomni, że dowolny moduł tam umieszczony, zastąpi wyjście komponentu.
źródło
Aby poprawić podane tutaj odpowiedzi:
Aby uwzględnić pozycję modułu w widoku komponentu i załadować tam moduły, wystarczy dodać
do pliku widoku.
Drugi ciąg z krótkim znacznikiem pozycji ładowania można w razie potrzeby zastąpić var, który zawiera więcej html. Nie musisz pisać tej linii dla każdej nowej pozycji modułu:
(Wiem, że nie jest to bezpośrednia odpowiedź na pytanie autora).
źródło
Oto proste i działające rozwiązanie. Próbowałem z jdoc: dołącz, ale to nie działało.
źródło
Musiałem zrobić to samo na mojej stronie, aby wyświetlić dema rozszerzeń i przyciski pobierania, jednak, szczerze mówiąc, myślę, że oddzielenie rzeczy jest pod pewnymi względami lepsze, ponieważ łatwiej jest nimi zarządzać. Nie tylko jestem pewien, że nie ma sposobu, aby osiągnąć to, czego szukasz za pomocą rzeczywistego CMS, tylko kod stały (nie mów więcej).
źródło
Po pierwsze, zgodnie z twoim pytaniem tworzysz już 20 modułów i 20 pozycji menu, więc naprawdę jedyną dodatkową rzeczą, którą musisz zrobić, to utworzyć element treści w jednym wierszu dla każdego modułu. Jeśli to naprawdę bardzo uciążliwe, skorzystaj z pomysłu @ FFrewin. Jest trochę zuchwały, ale zadziała.
Osobiście wybrałbym elementy treści. W rzeczywistości zrobiłem to, gdy budowałem system z wyskakującymi oknami dialogowymi, w których chciałem również pracować bez włączonej JS. Umieściłem zawartość okna dialogowego w module custom_html, ustawiłem moduł do ujawnienia i ustawiłem po kliknięciu łącza. Następnie wskazałem również link na element treści, w tym moduł, jak opisałeś. Jeśli js było włączone, łącze nie było śledzone i pojawiło się okno dialogowe. Jeśli js było wyłączone, link był śledzony, a zawartość okna dialogowego była wyświetlana jako treść. A zawartość była w jednym miejscu, więc nie utrzymywałem dwóch osobnych kopii zawartości.
źródło
Najczystszym sposobem na to jest użycie: http://extensions.joomla.org/extension/m2c-module-to-component
źródło
Spróbuj tego
ref: /programming/12225538/how-we-include-a-joomla-module-in-a-component-view-in-joomla
źródło
Utwórz pusty artykuł.
Utwórz element menu, wybierając utworzony artykuł.
Utwórz moduł w nieużywanej pozycji, ustaw przypisanie menu tylko na wybrane strony, wybierz tylko pozycję menu od góry.
Ponieważ było to na szczycie, zapewniłem, że udzielę odpowiedzi, właśnie to robię.
źródło