PDA

Zobacz pełną wersję : ukrycie modułu logowania



kuba112358
06-12-2010, 11:41
Witam. Istnieje możliwość ukrycia moduły logowania po zalogowaniu ?
może na przykładzie będzie lepiej.
Moja strona http://dziura.eu
Po prawej jest moduł do logowania. Chodzi mi o to że jeżeli się zaloguje on zniknie bo na górze koło start,galeria,forum pojawiają się opcje m. in. wyloguj

KejeN
06-12-2010, 12:40
Witam,
możesz spróbować wykorzystać nadpisywanie szablonem dla tego modułu i całą jego "treść" wrzucić w takiego if-a:

<?php $user =& JFactory::getUser();
if ($user->get('guest') == 1 ) : ?>
Tutaj treść modułu
<?php endif; ?>

Robster
06-12-2010, 12:42
Był kiedyś taki temat poruszany, ale musiałbyś poszukać. Z tego co pamietam była potrzebna ingerencja w kod. Bodajże Jola (jolaass) podawała rozwiązanie, więc szukaj w jej postach.

KejeN
06-12-2010, 13:15
@Robster faktycznie coś mi świta z tym że @Jolaass podawała rozwiązanie, ale zdaje się że była to modyfikacja globalna przypisywania modułów do grup, a tutaj koledze @kuba112358 chodzi o jeden konkretny moduł także nadpisywanie szablonem z wykorzystaniem if-a, którego podałem w zupełności wystarczy.

kuba112358
06-12-2010, 13:22
@KejeN mógłbyś powiedzieć co dokładnie mam edytować bo kompletnie nie wiem czego się złapać.

Robster
06-12-2010, 13:26
Cześć @KejeN :)
No jak pisałem nie za bardzo orientuję się co tam było, pamiętam tylko że problem też dotyczył ukrywania modułu dla użytkowników zarejestrowanych.

@kuba112358 plik index.php twojej templarki i pakujesz w funkcje warunkową pozycję modułu logowania.

KejeN
06-12-2010, 13:28
OK,
Po pierwsze odpowiedz czy używasz standardowego modułu logowania?
Edit:
Cześć @Robster:) i tu muszę się nie zgodzić jak kolega wpakuje całą pozycję modułów a w jego przypadku jest to 'left' to dla zalogowanych znikną wszystkie moduły z tej pozycji...

kuba112358
06-12-2010, 13:30
Tak, podstawowy który był zawarty w joomli domyślnie.

edit: nie chce żeby wszystkie z pozycji left zniknęły :P tylko logowanie :P

KejeN
06-12-2010, 13:34
Ok, to teraz sprawdź czy w katalogu \templates\nazwa_twojego_szablonu\html\ jest katalog mod_login.

kuba112358
06-12-2010, 13:36
Niestety nie, nawet folderu html nie ma. tylko css i images

KejeN
06-12-2010, 14:00
Ok, przetestowałem swoją koncepcję i trzeba będzie ją skorygować...bo nadpisanie szablonem tak jak mówię zastawia pusty kontener modułu z tytułem dla zalogowanych.
Trzeba będzie w takim razie dodać to inaczej....
Wejdź w edycję html szablonu (Rozszerzenia->Szablony->Twój szablon->Edytuj HTML )
w kodzie odnajdź coś takiego:

<jdoc:include type="modules" name="left" />
i bezpośrednio nad tym fragmentem dodaj:

<?php $user =& JFactory::getUser();
if ($user->get('guest') == 1 ) : ?>
<jdoc:include type="module" name="login" />
<?php endif; ?>
Następnie zmień pozycję w której jest publikowany ten moduł na taką której nie ma w Twoim szablonie czyli np. footer.

kuba112358
06-12-2010, 14:23
Ok. działa dzięki bardzo. Trochę się to przesunęło w bok, będzie można to jakoś wyśrodkować w tej kolumnie ?

KejeN
06-12-2010, 14:29
Tak właśnie sobie przypomniałem, że o czymś zapomniałem.
Kiedy odnalazłeś w kodzie szablonu:

<jdoc:include type="modules" name="left" />
to musiało być tam jeszcze style="jakaś_watrość" czyli:

<jdoc:include type="modules" name="left" style="jakaś_watrość" />
Skopiuj i wklej ten fragment do kodu który wstawiłeś:

<?php $user =& JFactory::getUser();
if ($user->get('guest') == 1 ) : ?>
<jdoc:include type="module" name="login" style="jakaś_watrość" />
<?php endif; ?>

kuba112358
06-12-2010, 14:34
dzieki bardzo ;d wszystko działa jak należy.