PDA

Zobacz pełną wersję : Ustawienie modułu tylko dla strony głównej, problem z dziedziczeniem



depalage
20-09-2010, 17:11
Witam,
mój problem polega na tym, że chciałbym pewne moduły ustawić tylko dla strony głównej. I tak to faktycznie działa, jeśli wejdę w inną pozycję menu, to moduł znika.

Problem pojawia się jednak, kiedy kliknę w link np. do kategorii video z pewnego dodatku na stronie głównej (który jest tam wstawiony nie jako moduł, a jako komponent z menu), a strona z kategorią otwiera się na kolejnej podstronie, jednak moduły ustawione dla strony głównej wciąż pozostają.

Jak można temu zaradzić? Mam nadzieję, że jasno wyjaśniłem na czym problem polega.
Pozdrawiam i liczę na Waszą pomoc

Pawełek
20-09-2010, 21:52
Tzn że jak wybierzesz moduły i zaznaczysz w Przypisane na liście -> wybrane pozycje tylko "strona główna bez podrzędnych pozycji" to się nie wyświetla. Jeśli tak to możesz próbować zaszyć w szablonie taki kod


<?php
$menu = & JSite::getMenu();

if ($menu->getActive() == $menu->getDefault()) {
jesteś na stronie głównej tu można wrzucić moduł
}
?>

w przeciwnym wypadku proponuje skorzystać w pierszego rozwiązania.

a_m
20-09-2010, 22:33
dla "tego czegoś" utwórz łączę w menu, którego nie musisz publikować i przypisz do tej pozycji co chcesz / nie przypisuj czego nie chcesz

szoq
21-09-2010, 00:24
Moze to pomoże. Wklej to w szablon w miejsce pozycji którą chcesz ukryć.


<?php if(JRequest::getVar('view') == 'frontpage') { ?>
<jdoc:include type="modules" name="PozycjaModulu" style="xhtml" />
<?php }?>

depalage
21-09-2010, 16:22
Mam w ustawieniach modułu: Zaznaczone na liście --> Home
ale już sobie poradziłem z tym przez instrukcję PHP, ale nie do końca działa jak należy. Coś takiego:

<?php if(isset($_SERVER["QUERY_STRING"]) && !empty($_SERVER["QUERY_STRING"])) : ?>
<?php else: ?>
<div id="slider">
<jdoc:include type="modules" name="slider" style="xhtml" />
</div>
<?php endif; ?>Wyświetla moduł jeśli w adresie na pasaku przeglądarki jest np. www.moja-strona.pl (http://www.moja-strona.pl) lub www.moja-strona.pl/index.php (http://www.moja-strona.pl/index.php), a jak po "index.php" coś jest dopisane to modułu nie ma. I to działa, ale tylko do momentu, aż ustawie przyjazne adresy. Z dopismami .html już nie działa. Spróbuję zatem któreś z podanych przez Was rozwiązań. Dzięki za odpowiedź.

EDIT: Niestety żadne z podanych przez Was rozwiązań nie działa, wygląda na to, że będę musiał pozostać przy moim, ale niestety nie można wtedy ustawić przyjaznych adresów. Może jeszcze ktoś ma jakiś pomysł?

szoq
30-09-2010, 21:01
z tego co się orientuję to Joomla ma tylko jedną pozycję bezpośrednio na stronę główną czyli www.adres.pl jak dodasz kolejne lunki na główną to będziesz miał www.adres.pl/index.php albo podobnie, więc musisz przypisać moduły do różnych pozycji odwołujących się de facto w to samo miejcie, ale faktycznie z innym adresem.

a_m
30-09-2010, 21:03
@szoq nie przypisujesz do adresu, ale pozycji menu

szoq
01-10-2010, 09:19
tak zgadza się, coś zamieszałem sam :)