PDA

Zobacz pełną wersję : wyswietlanie modułu dla podstron rejestracji, logowania itp



bartoszmachnik
04-01-2011, 17:50
Witam. Chciałbym wyświetlić lewe menu dla wszystkich stron serwisu prócz podstrony forum. Użyłem do tego "Przypisanie menu" w opcjach modułu. Problem jednak w tym że jeśli zaznaczę na liście wszystkie pozycje prócz pozycji "forum" menu nie wyświetla na podstronie forum (tak jak chciałem) lecz brakuje go także na podstronach "rejestracja", "logowanie" itp (takich podstron nie ma domyślnie na liście "Przypisanie menu", nie mogę ich więc zaznaczyć).

Próbowałem dodać w menu takie podstrony i zaznaczyć je w opcjach modułu lecz nie sa one traktowane jako te same podstrony. Link w menu ma postać: "index.php?option=com_user&view=register" a adres na który odsyłany jest użytkownik to "/index.php/component/user/register".

Jeśli ktoś miał podobny problem prosiłbym o pomoc.

Pozdrawiam
Bartek

Jola
04-01-2011, 18:33
Witam,
najprościej jest dokonać modyfikacji w pliku index.php szablonu dodając warunek wyświetlania się lewego menu. Nie napisałeś z jakiego forum korzystasz, warunek powinien zawierać w sobie nazwę komponentu np.:

<?php
if(JRequest::getVar('option','') != 'com_nazwa_komponentu'){
?>
<jdoc:include type="modules" name="lewe_menu" />
<?php
}
?>gdzie lewe_menu to pozycja, w której "siedzi" Twoje lewe menu a com_nazwa_komponentu to np. com_kunena lub com_agora ( nie wiem)
Po takiej modyfikacji lewe menu będzie wyświetlane zawsze oprócz podstron forum.

bartoszmachnik
06-01-2011, 11:40
Super, dziękuję bardzo za pomoc. Rzeczywiście działa, wykorzystałem tylko warunek ale o to właśnie chodziło.


<?php if($this->countModules('Lewo') && (JRequest::getVar('option','') != 'com_kunena') ) : ?>
<div id="Left" class="dsb fl ovr">
<jdoc:include type="modules" name="Lewo" style="xhtml" headerLevel="3" />
</div>
<div id="UnderContent" class="dsb fr ovr">
<jdoc:include type="modules" name="Środek" style="xhtml" headerLevel="3" />
</div>
<div id="Content" class="dsb fr ovr">
<jdoc:include type="message" />
<jdoc:include type="component" />
</div>
<?php else: ?>
<div id="UnderContent" class="dsb fl mw ovr">
<jdoc:include type="modules" name="Środek" style="xhtml" headerLevel="3" />
</div>
<div id="ContentFull" class="dsb mw fl clr">
<jdoc:include type="message" />
<jdoc:include type="component" />
</div>
<?php endif; ?>


Pozdawiam
Bartek

tlewap
06-01-2011, 11:48
Jeśli chodzi o linki do rejestracji i do profilu można je wstawić poprzez:
Użytkownik->Zaloguj
Użytkownik->Zarejestruj mnie

Linki takie możesz utworzyć w nowym menu, do którego nie opublikujesz modułu.
=com_user&url[view]=login&cid[]=20&menutype=usermenu"] ("http://www.lublin-noca.pl/administrator/index.php?option=com_menus&task=edit&type=component&url[option)

bartoszmachnik
06-01-2011, 13:06
Witam. Tak też zrobiłem ale tak utworzone pozycje menu wskazują na inne strony (same strony są te same lecz maja inne adresy i są traktowane przez joomle jako odrębne miejsca). Gdy w ustawieniach modułu ustawię aby wyświetlał się dla wybranych pozycji menu i zaznaczę utworzone wpisy "Użytkownik->Zaloguj" oraz "Użytkownik->Zarejestruj mnie" to mam sterowanie nad podstronami wywoływanymi przez to menu. Ale podstrona wywołana po kliknięciu na link "zarejestruj" obok logowania czy strona na którą joomla przerzuca niezalogowanego użytkownika przy próbie dostępu do materiałów o dostępie "specjalnym" to inne strony. Moduł wyświetli się na nich tylko w przypadku zaznaczenia w opcji: "Przypisanie menu" wyboru: "Wszystkie". Dziękuje jednak za podpowiedź. Sprawę rozwiązałem przez modyfikację templateki jak poradził jolaass.

Pozdrawiam

Jola
06-01-2011, 14:46
Jednak mój podpis jest za mały!
Jestem kobietą :)

batorowicz
10-11-2011, 02:40
Wykorzystałem rozwiązanie Joli i działa. Dzięki :- )

Mam tylko jeszcze jeden problem: po modułach pozostaje biała pusta przestrzeń, a chciałbym, żeby w ich miejsce rozszerzył się komponent.

Oto link do strony gdzie jest to widoczne: http://sukceslink.pl/spolecznosc.html

N (http://sukceslink.pl/spolecznosc.html)a prawo od komponentu JomSocial jest biała pusta przestrzeń, a chciałbym, żeby komponent był cały na szerokość strony.

Jakby ktoś mógł, to bardzo proszę o pomoc :-)

bartoszmachnik
10-11-2011, 09:10
Witam. Masz podział na dwie kolumny. Przy czym centralna część ma szerokość 75% a prawa 25%. Jeśli nie planujesz używać prawej kolumny to możesz w pliku http://sukceslink.pl/templates/dj-0013-new/css/layout.css zmienić styl dla elementu:
#wrapper.scheme_2 #content
i w linijce width:75%; zmienić to na width:100%;

Powinno działać.
Pozdrawiam

batorowicz
10-11-2011, 16:28
Dzięki za odpowiedź. Nie chodzi natomiast o takie rozwiązanie. To bym wiedział jak zrobić, bo sam ustalałem takie szerokości. Mi chodzi natomiast o rozwiązanie tego w kontekście pierwotnego problemu tego wątku.

Czyli na pewnych stronach używam tej prawej kolumny - właściwie na wszystkich oprócz komponentu JomSocial. I tak jak widać, na innych stronach zawartość prawej kolumny się wyświetla i tak ma być.

Natomiast problem w tym, że w komponencie JomSocial zostaje ta biała przestrzeń po prawym pasku. Mi chodziłoby o to, żeby JomSocial rozszerzał się automatycznie w miejsce tej przestrzeni.

Jakby nie było dzięki za próbę pomocy :- )

A ja proszę o dalszą pomoc tych bardziej oświeconych w temacie :)