0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 1425 Просмотров
*

vita1971

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Хочу подключить рефералов на свой сайтик.

Подскажите в каком месте для Joomla 3.X это делается?

Пока думаю в index.php прописать, что то типа:

$userid = $_GET['ref'];

где ref:

http://site.ru?ref=873

а дальше скидываем в БД.

Или может быть где-нибудь в другом месте обработчик вставить?
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
в любом случае понадобиться плагин группы user
делал как-то с таким вариантом тоже - 2 плагина user + system
в системном плагине проверяется параметр, если есть записывается в сессию или куку
дальше уже при регистрации пользователя проверяется эта переменная и записывается значение куда-нибудь, затем стирается

можно так же и одним user обойтись, но при этом реф ссылка должна вести на форму регистрации
*

Ренат

  • Осваиваюсь на форуме
  • 11
  • 2 / 0
Сделал совсем недавно подобный плагин:
Основной файл плагина ref2cookie.php
Код
<?php
// No direct access
defined( '_JEXEC' ) or die;

/**
 *
 * @package     Joomla.Plugin
 * @subpackage  System.Ref2Cookie
 * @since       2.5+
 * @author
 */
class plgSystemRef2Cookie extends JPlugin
{
/**
* Class Constructor
* @param object $subject
* @param array $config
*/
public function __construct( & $subject, $config )
{
parent::__construct( $subject, $config );
$this->loadLanguage();
}

public function onAfterInitialise(){
$refname = "promo";
if (!empty($_GET[$refname]))
{
function deleteGET($url, $refname, $amp = true) {
$url = str_replace("&amp;", "&", $url);
list($url_part, $qs_part) = array_pad(explode("?", $url), 2, "");
parse_str($qs_part, $qs_vars);
unset($qs_vars[$refname]);
if (count($qs_vars) > 0) {
$url = $url_part."?".http_build_query($qs_vars);
if ($amp) $url = str_replace("&", "&amp;", $url);
}
else $url = $url_part;
return $url;
}

$ref = htmlspecialchars(trim($_GET[$refname]));
setcookie ("r", $ref, time()+60*60*24*365, "/");
$url = $_SERVER['REQUEST_URI'];
header("Location: ".deleteGET($url, $refname));
exit();
}
}
}
Тип плагина System. Выполняется на событие onAfterInitialize. Что делает плагин. Через GET-параметр promo сохраняется в кукис (хранится год). После страница перезагружается, что удалить из url GET-параметр promo. В этом же плагине не сложно добавить и прочий функционал по сохранению промо-код в базу данных и другие действия.  В дальнейшем этот промо-код (или реферальная ссылка) автоматически подставляется в форме заказа на моем сайте в поле промо-кода.
Может кому пригодится этот код. Взамен, кто хорошо разбирается в архитектуре Joomla можете предложить фишки по доработке или сделать код более красивым и валидным. К примеру, что-то можно вынести в настройки плагина
« Последнее редактирование: 03.02.2015, 16:34:39 от Ренат »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Подключение сторонних библиотек в модуле J4

Автор denism300

Ответов: 6
Просмотров: 355
Последний ответ 30.12.2022, 19:58:09
от denism300
Формирование ссылки с параметрами в меню

Автор submaster

Ответов: 2
Просмотров: 778
Последний ответ 28.09.2018, 13:32:43
от submaster
Обработка данных в компоненте перед сохранением

Автор ipservice

Ответов: 2
Просмотров: 1197
Последний ответ 27.07.2015, 12:46:01
от ipservice
Обработка плагином только английских материалов, как?

Автор x1

Ответов: 13
Просмотров: 1175
Последний ответ 29.10.2014, 13:33:16
от x1
Обработка добавления материала Joomla 3

Автор vita1971

Ответов: 2
Просмотров: 1063
Последний ответ 17.09.2014, 14:16:14
от saharin88