Joomla 1.5 - Вывод модуля 1 раз за n-период времени

Статус
В этой теме нельзя размещать новые ответы.

Absolute

Крокодил ;)
Регистрация
9 Авг 2009
Сообщения
581
Реакции
456
Есть модуль который вывожу на главной

Требуется:
после того как пользователь посетил главную, - записать cookies и больше не выводить этот модуль для этого пользователя при повторном посещении главной, а выводить другой модуль вместо предыдущего.

Подскажите, может быть есть какие-нибудь расширения, увязывающиеся с cookies? Или дайте совет хотя бы в каком направлении смотреть...
 
Даже не знаю что и посоветовать.
Помню только то, что pop-up модуль можно настроить на показ раз в сутки, точнее есть модуль от 1 часа до 24 не будет выводиться.
Может обратите внимания как они работают.
 
Скачал рекомендованный модуль - всё удаётся сделать

единственное не могу назначить ещё одну переменную для того случая, когда в браузер уже записаны cookies

т.е. куки отсутствуют - выводится переменная $mooPopUpMessage
куки присутствуют - не выводится ничего, просто пустой модуль

Подскажите как это исправить и определить ещё одну переменную для случая когда куки записаны

PHP:
<?php

defined('_JEXEC') or die('Restricted access');

if(defined( '_MooPopUp')) {
	return;
}

define ( '_MooPopUp', 1 );

$useCoo 	= (int) $params->get( 'useCoo', 0 );
$cooTime 	= (int) $params->get( 'cooTime', 3600 );

$mooBrowser 	= (int) $params->get( 'mooBrowser', 1 );
$mooItemid = $params->get( 'mooItemid', 'anywhere' );

if($mooItemid=="anywhere") {
	if((empty($mooBrowser)) OR ($mooBrowser==0) OR ($mooBrowser=="0")) {
		if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'msie 6') == false) {
			return;
		}
	}
} else {
	$mooItemid = explode(",",$mooItemid);
	$Itemid = JRequest::getInt( 'Itemid' );
	$iid = ($Itemid)?$Itemid:"";
	if(in_array($iid,$mooItemid)) {
		if((empty($mooBrowser)) OR ($mooBrowser==0) OR ($mooBrowser=="0")) {
			if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'msie 6') == false) {
				return;
			}
		}
	} else {
		return;
	}
}

if($useCoo != 1) {
	if(empty($_COOKIE['tp_show_loaded'])) {
		unset($_COOKIE['tp_show_loaded']);
	}
} else {
	if(empty($_COOKIE['tp_show_loaded'])) {
		setcookie("tp_show_loaded", "loaded", time()+3600);
	} else {
		return;
	}
}

$document =& JFactory::getDocument();
$mooPopUpMessage = $params->get( 'mooPopUpMessage' );

echo '<div id="mooPopUpDiv">'.$mooPopUpMessage.'</div>';

?>
 
Разобрался (спасибо ребятам из раздела Коддинг), переделал даки модуль должным образом:

Нет куки у пользователя - в модуле выводится 1 содержимое
Есть куки - в модуле выводится 2 содержимое
Время жизни cookies также можно задавать

Убрал всё лишнее из кода

Собрал всё в модуль, перевел на русский - кому надо в аттаче
 

Вложения

  • mod_cook.zip
    1,3 KB · Просмотры: 9
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху