Jak stworzyć stronę tylko z modułami i bez komponentu?

10

W joomla muszę połączyć każdą stronę z widokiem komponentu. Jak mogę utworzyć stronę bez danych wyjściowych komponentu ?

Przykład: na mojej stronie głównej chcę tylko wyjście modułu. W tym celu mogę połączyć stronę główną z „pustym artykułem”, ale czy istnieje lepszy sposób, aby to zrobić bez użycia rozszerzenia strony trzeciej?

web-tiki
źródło
2
Czy używasz szablonu niestandardowego czy komercyjnego? Pytam, ponieważ wiele z nich ma opcję całkowitego odcięcia obszaru komponentu.
Brian Peat
@BrianPeat Korzystam z niestandardowego szablonu
web-tiki
Ah, dobrze. Cóż, jest tu kilka dobrych odpowiedzi, które powinny zadziałać :)
Brian Peat
2
Podobne pytanie: joomla.stackexchange.com/questions/5056/…
FFrewin

Odpowiedzi:

15

Tak naprawdę nie ma „lepszego sposobu”.

Jedyną inną opcją jest sprawdzenie, czy znajdujesz się na stronie głównej w pliku szablonu. Aby sprawdzić, czy jesteś na stronie głównej, możesz użyć metody opisanej w dokumentacji tutaj:

http://docs.joomla.org/How_to_determine_if_the_user_is_viewing_the_front_page

i zrób coś takiego:

<?php
$menu = JFactory::getApplication()->getMenu();

if ($menu->getActive() != $menu->getDefault()) { ?>
        <jdoc:include type="component" />
<?php } ?>

W ten sposób nigdy nie umieścisz swojego komponentu na stronie głównej

George Wilson
źródło
1
Heads up z tą metodą: jeśli masz link ze strony głównej, który nie prowadzi do innej strony, może wyglądać na uszkodzony, jeśli ładuje się pod pozycją menu strony głównej! Uważaj na jakiekolwiek łącze, które jest podobne, example.com/component/com_name/viewponieważ ładowałoby się pod domyślną pozycją menu, a dane wyjściowe komponentu nie byłyby wyświetlane.
David Fritsch
Możesz dodać kilka dodatkowych kontroli, aby upewnić się, że bieżący komponent i view ( JFactory::getApplication()->input->get('view')) również nie są takie same jak view menu ( $menu->getActive()->view)
David Fritsch
@DavidFritsch: Myślę, że $ menu-> getActive () -> view, powinno być $ menu-> getActive () -> query ['view'];
FFrewin
5

W JED znajduje się również „pusty” komponent, który pozwala opublikować pozycję menu, dzięki czemu można umieszczać tylko moduły.

http://extensions.joomla.org/extensions/style-a-design/personal-layout/17363

Toni Marie
źródło
Miałem problem z tym rozszerzeniem, nie zawiera on router.phpprzyczyn powodujących, że nieprawidłowe adresy URL nie reagują z 404.
Flimm
4

W pliku indeksu możesz mieć wiele układów szablonów.

<!--Layout 1-->
<?php if ($BConfig->html=='layoutA') : ?>

<jdoc:include type="component" />

<?php endif; ?>  <!--End Layout 1-->

<!--Dynamically Generated Layout 2-->
<?php if ($BConfig->html=='layoutB') : ?>

<jdoc:include type="modules" name="your-module"/>

<?php endif; ?> <!--End Layout 2-->

Następnie upewnij się, że plik templateDetails zawiera opcję B. Następnie w Joomla! szablony, możesz skonfigurować dodatkowy szablon za pomocą układu b. Przejdź do pozycji menu głównego, wybierz ten szablon. Komponent nie ładuje się, ale moduł ładuje.

Faye
źródło
2

Głupie, bardzo podobne, ale dość łatwe rozwiązanie:

  1. Utwórz kategorię artykułu
  2. Pozostaw to bez treści (artykuły)
  3. Utwórz łącze menu do tego
  4. Przypisz swoje moduły do ​​tego łącza menu

Może być konieczne wyłączenie niektórych szczegółów, aby ukryć tę kategorię w parametrach kategorii i / lub pozycji menu.

Ivo
źródło
1
Jest to w zasadzie to samo, co używanie pustego artykułu.
web-tiki
1

Możesz utworzyć pusty komponent. Tak więc w komponencie com_menus możesz zdecydować, że strona nie może generować danych wyjściowych po prostu wybierając ten pusty komponent. W tym komponencie musisz utworzyć widok i pusty szablon default.php z plikiem default.xml, więc zobaczysz tę opcję, gdy wybierzesz komponent w komponencie com_menus.

csbenjamin
źródło
1

RocketThemes mają przydatną funkcję do ukrywania artykułów z com_content.

Używam do publikowania pustej kategorii, aby zminimalizować wyniki i ukrywam ją za pomocą stylizacji CSS.

Anibal
źródło
1

Skopiuj szablon, usuń komponent jdoc i przypisz ten styl do dowolnej pozycji menu niewymagającej komponentu.

sovainfo
źródło
0

W Joomla! 3.x możesz wykonać następujące czynności:

  • Najpierw utwórz swoje moduły,
  • Utwórz nową kategorię w nowym artykule na głównej stronie,
  • Sprawdź, czy masz włączoną zawartość wtyczki - ładuj moduły

Domyślnie Joomla! zawiera bibliotekę o nazwie Bootstrap v2.3.2 , więc możesz użyć css w tej bibliotece, na przykład system grid : http://getbootstrap.com/2.3.2/scaffolding.html#gridSystem

  • Stąd, w swoim artykule możesz zobaczyć przycisk o nazwie Moduł , po prostu utwórz prostą lub bardzo złożoną siatkę i przypisz swoje moduły do ​​każdego bloku.

Zaletą, którą możesz uzyskać, korzystając z tej metody, jest to, że możesz uzyskać szablon bardziej lekki z mniejszą liczbą pozycji i mniejszym kodem php, js i css, więc jeśli nie potrzebujesz wielu funkcjonalności, możesz go utworzyć samodzielnie.

Pozdrowienia.

AlejandroVega
źródło