PDA

Zobacz pełną wersję : "Jesli nie ma sondy to jest cos innego i na odwrot", da sie?



biedron
25-07-2009, 15:44
Witam,
Przedstawiam sytuacje:
Joomla 1.5.13
W templatce umiescilem pozycje na modul w ktorym jest sonda
Sonde zrobilem tylko do wgladu dla zalogowanych, a co za tym idzie, niezalogowani maja w tym miejscu puste pole,
Czy da rade zrobic tak, ze niezalogowani zobacza informacje, ze sonda pojawi sie po zalogowaniu, a po zalogowaniu juz tej informacji nie bedzie a w zamian bedzie sonda?
To powinno byc proste, ale az tak w php nie rzadze by taka regule ustawic w templatce. Zeby nie bylo, szukalem.. Ktos wie co mozna zrobic?

Pozdrawiam

Bazyl
25-07-2009, 16:01
Umieść w tej samej pozycji własny moduł dostępny tylko dla niezalogowanych.
W module cokolwiek (obrazek, tekst), co będzie po kliknięciu prowadziło do formularza zalogowania/zarejestrowania.

Może jeszcze http://forum.joomla.pl/showthread.php?t=27253.

biedron
25-07-2009, 16:38
Umieść w tej samej pozycji własny moduł dostępny tylko dla niezalogowanych.
W module cokolwiek (obrazek, tekst), co będzie po kliknięciu prowadziło do formularza zalogowania/zarejestrowania.

Może jeszcze http://forum.joomla.pl/showthread.php?t=27253.


podpowiadasz dobrze i jest to sposob, tyle tylko ze w administratorze nie mozna ustawic by jakis modol byl pokazywany tylko niezalogowanym a zarejestrowanym juz nie, chyba ze da sie tak zrobic, to wtedy jestem w domu.

Bazyl
25-07-2009, 17:00
Poszukaj dobrze.

Poziom dostępu [Access Level]: określa, kto ma prawo przeglądać pozycję - artykuł, kategorię, sekcję, moduł lub stronę. Aktualne opcje:
Powszechny [Public]: prawo ma każdy odwiedzający witrynę;
Rejestrowany [Registered]: prawo mają tylko zalogowani użytkownicy;
Specjalny [Special]: prawo mają użytkownicy z uprawnieniami autora lub wyższymi.

biedron
25-07-2009, 17:21
no i wszystko fajnie, ale POWSZECHNY znaczy rowniez to samo, ze zalogowany takze to widzi =D nie ma opcji o jaka mi chodzi
"prawo mają TYLKO NIEzalogowani użytkownicy;" <-- o takiej

Bazyl
25-07-2009, 17:46
Ups, sorki, braki w czytaniu ze zrozumieniem...:)

Pewnie można inaczej (łatwiej): pozycję dla sondy i info umieszczasz w divie z overflow: hidden.
Sonda jest pierwsza.
Niezalogowany jej nie zobaczy, tylko info.
Zalogowany zobaczy sondę - info obetnie.

biedron
25-07-2009, 17:56
ooo własnie! wspaniale! dzieki za odpowiedz, juz dalej sobie poradze

biedron
26-07-2009, 16:38
ehhh wybacz.. wstawilbys mi przykladowy kod, za cholere mi to nie wychodzi.. i info i sonda mi sie pokazuja.. na pewno robie cos zle..

Jola
26-07-2009, 17:04
Witam,
@bazyl wybacz, ale lepiej jest to zrobić wstawiając warunek sprawdzający czy uzytkownik jest zalogowany:

<?php
$user = & JFactory::getUser();
if($user->get('id')) {

tutaj kod modułu

}
else {

tutaj kod komunikatu dla niezalogowanych

}
?>
Pozdrawiam

biedron
26-07-2009, 17:34
Witam,
@bazyl wybacz, ale lepiej jest to zrobić wstawiając warunek sprawdzający czy uzytkownik jest zalogowany:

Pozdrawiam
o takie rozwiazanie mi wlasnie chodzilo, tylko podpowiedzcie mi, jak ja mam teraz wstawic kod modułu? w jakiej formie, przeciez



<?php
$user = & JFactory::getUser();
if($user->get('id')) {

<?php if($this->countModules('advert2')) : ?>
<jdoc:include type="modules" name="advert2" style="xhtml" />

<?php endif; ?>

}
else {

<?php if($this->countModules('advert3')) : ?>
<jdoc:include type="modules" name="advert3" style="xhtml" />

<?php endif; ?>

}
?>



w takie formie nie zadziała.. a nie wiem jak inaczej wstawic moduł w template

Jola
26-07-2009, 18:29
Pisząc o tej modyfikacji miałam na myśli zmianę w pliku modułu:
modules/mod_poll/mod_poll.php

defined('_JEXEC') or die('Restricted access');
$user = & JFactory::getUser();
if($user->get('id')) {
// Include the syndicate functions only once
require_once (dirname(__FILE__).DS.'helper.php');

$tabclass_arr = array ('sectiontableentry2', 'sectiontableentry1');

$menu = &JSite::getMenu();
$items = $menu->getItems('link', 'index.php?option=com_poll&view=poll');
$itemid = isset($items[0]) ? '&Itemid='.$items[0]->id : '';

$poll = modPollHelper::getPoll($params->get( 'id', 0 ));

if ( $poll && $poll->id ) {
$layout = JModuleHelper::getLayoutPath('mod_poll');
$tabcnt = 0;
$options = modPollHelper::getPollOptions($poll->id);

require($layout);
}
}
else {
echo "nie jesteś zalogowany";
}

biedron
26-07-2009, 18:54
:eek: okeeeej O_O rzadzisz o_O wielkie dzieki za pomoc!

Bazyl
26-07-2009, 21:45
@jolaass: bez przesady, spoko.:)
Źle zrozumiałem problem i musiałem jakoś z tego wybrnąć.
Napisałem, że to kwadratura koła...

Jestem pod wrażeniem nieustającym, pozdrawiam.