Zobacz pełną wersję : Odrębna strona główną dla zalogowanych użytkowników.
pawel_bryndza
02-12-2009, 22:03
Witam,
Poszukuje dodadku do Joomli za pomocą którego mógłbym ustawić odrębną stronę główną dla zalogowanych użytkowników.
Witam,
w module logowania mod_login wybierasz "Skocz po zalogowaniu do" taką pozycję menu, która będzie Twoją stroną główną dla zalogowanych.
W ustawieniach tej pozycji zaznaczasz Poziom dostępu:Rejestrowany
pawel_bryndza
02-12-2009, 23:50
Nie o to mi dokładnie chodzi. Teraz mam dwie pozycje Home w main menu ja bym chciał żeby mi podmieniało linki w pozycji Home, tzn. podmieniało stronę domyślną.
A właśnie, ze o to chodzi.
Na początek zrób jak pisze jolaass, a teraz odpowiedz co ma być na stronie głównej, po zalogowaniu, to raz, czy to ma być różna treść, czy to mają być różne dodatki/moduły, czy to mają być różne komponenty?
pawel_bryndza
03-12-2009, 15:00
Tak zrobiłem.
Chce żeby główna stroną dla gości była strona domyślna joomli a dla zalogowanych użytkowników komponentu jomsocial.
Jeżeli gość kliknie Home w main menu to zobaczy stronę joomli, po zalogowaniu klikając na Home wyświetli mu sie jomsocial.
A co ma być na tej stronie Home dla gości?
pawel_bryndza
03-12-2009, 15:09
Artykuły opis strony zdjęcia.
W jomsocial muszę dodawać wszystko do pliku strony głównej ręcznie (edytować plik).
pawel_bryndza
03-12-2009, 15:19
Znalazłem plik, który jet za to odpowiedzialny:libraries\joomla\application\menu.p hp
Artykuły opis strony zdjęcia. ...
Czyli dokładnie co ma być w Home dla niezarejestrowanych? Nie mówię o stronie Opis/FAQ, Kontakt, O Nas itp., tylko o samej stronie Home.
EDIT:
W/w przez Ciebie plik zostaw w pokoju.
pawel_bryndza
03-12-2009, 19:41
czyli dokladnie
gosc: index.php?com_content&view=frontpage
user: index.php?option=com_community&view=frontpage&Itemid=1
wartosc Home ma byc podmieniana w zaleznosci od poziomu dostepu
ta czesc jest odpowiedzialna za strone domyslna
function __construct($options = array())
{
$this->load(); //load the menu items
foreach ($this->_items as $k => $item)
{
if ($item->home) {
//echo "<pre>".var_dump($item)."</pre>";
$this->_default = $item->id;
}
}
}
wyswietlilem zawartosc obiektu
object(stdClass)#13 (25) {
["id"]=> string(1) "1"
["menutype"]=> string(8) "mainmenu"
["name"]=> string(4) "Home"
["alias"]=> string(4) "home"
["link"]=> string(45) "index.php?option=com_community&view=frontpage"
["type"]=> string(9) "component"
["published"]=> string(1) "1"
["parent"]=> string(1) "0"
["componentid"]=> string(2) "34"
["sublevel"]=> string(1) "0"
["ordering"]=> string(1) "1"
["checked_out"]=> string(1) "0"
["checked_out_time"]=> string(19) "0000-00-00 00:00:00"
["pollid"]=> string(1) "0"
["browserNav"]=> string(1) "0"
["access"]=> string(1) "1"
["utaccess"]=> string(1) "3"
["params"]=> string(69) "page_title= show_page_title=0 pageclass_sfx= menu_image=-1 secure=0 "
["lft"]=> string(1) "0"
["rgt"]=> string(1) "0"
["home"]=> string(1) "1"
["component"]=> string(13) "com_community"
["tree"]=> array(1) {
[0]=> string(1) "1"
}
["route"]=> string(4) "home"
["query"]=> array(2) {
["option"]=> string(13) "com_community"
["view"]=> string(9) "frontpage"
}
}
moge sprawdzic poziom dostepu i podmienic link ["link"]=> string(45) "index.php?option=com_community&view=frontpage", ["access"], ["params"]
co myslicie??
pawel_bryndza
07-12-2009, 14:25
Znalazłem to co chciałem: http://techjoomla.com/view-document-details/1-logged-in-home-page.html
W pluginie ustawiłem link do alternatywnej strony tylko dla zalogowanych natomiast w menu kliknąłem Unpublish Item.
pawel_bryndza, nie chodziło o wstawienia kodu, tylko opisanie jakie to treści mają być na tej stronie.
Dla potomnych zostawię rozwiązanie, które chodziło mi po głowie.
W szablonie kopiujemy pozycję left
<jdoc:include type="modules" name="left" style="xhtml" /> jednej zmienimy nazwę na left1, a drugiej na left2.
<jdoc:include type="modules" name="left1" style="xhtml" />
<jdoc:include type="modules" name="left2" style="xhtml" />
W pliku xml szablonu również kopiujemy linijkę kodu z left i dopisujemy cyfry.
<position>left1</position>
<position>left2</position>
Teraz oddajemy kod* w szablonie dla pozycji left1 i left2, tak, zęby left1 wyświetlało się dla niezalogowanych, a left2 dla zalogowanych.
Tworzymy dwa menu, w których nazwy linków są te same, a tylko odsyłasz w łączu "Strona Głowna" (czy jak sobie ją nazwiemy) wskazuje na inny komponent. Przepisujemy je odpowiednim pozycją.
* taki kod można podejrzeć w dodatkach do ukrywania treści/elementów strony dla określonych grup użytkowników itp. Np. Hider Content (PL) (http://joomla.pl/forum/showthread.php?t=30254), który pozwala również, na wyświetlanie treści tylko dla niezalogowanych osób.
Jeszcze tego rozwiązania nie testowałem ale powinno działać.
pawel_bryndza
08-12-2009, 20:19
Ja uzylem:
do ustawiena dwóch stron głównych http://techjoomla.com/view-document-details/1-logged-in-home-page.html
do ustawienia praw dostępu http://joomlacode.org/gf/project/noixacl/frs/?action=FrsReleaseBrowse&frs_package_id=4334
Witam,
można zastosować metodę redirect w szablonie strony startowej dla niezalogowanych.
Sprawdzenie czy użytkownik jest zalogowany,
jeśli nie to wczytanie szablonu,
jeśli tak - to przeniesienie pod wybrany adres (w podanym przykładzie do komponentu Sobi2).
Strona startowa ustawiona standardowo w Joomla:Articles >> Na startowej
W pliku components/com_content/views/frontpage/tmpl/default.php
defined('_JEXEC') or die('Restricted access');
if ($my->id){
$mainframe->redirect( 'index.php?option=com_sobi2&Itemid=37' );
}
else {
......//tutaj zawartość szablonu
.......
......
<?php
}
?>
Tak zmieniony szablon zapisać w odpowiednim miejscu katalogu html swojego szablonu - zgodnie z techniką nadpisywania szablonów.
vBulletin® v4.2.5, Prawa przedruku © 2024 vBulletin Solutions, Inc. Wszystkie prawa zastrzeżone.
Tłumaczenie: Polskie Centrum Joomla!