Виталий Валерьевич

Виталий Валерьевич

Был в сети 09 января 2021, 10:18
Заказы не принимаю
Если планируется расширение функционала, то, есть несколько идей, касаемо улучшений по работе с лидами.

1) Добавить статусы: Новые, В работе, Выполнены, Отказы
2) Экспорт заказов
3) Добавление лида из админки
4) Возможность назначить менеджера к заявке (из зарег. пользователей опр. группы)

Вообщем, на реализацию всего этого не рассчитываю, но перспективы у компонента есть весьма не плохие!
Делается очень просто, опишу алгоритм и набросаю от руки, поднимать наработки долго.

Алгоритм:

  1. Получить реферара
  2. Определить поисковую систему
  3. Получить поисковый запрос или ссылку переход с которой был осуществлен
  4. Записать в cookie или в сессию результат
  5. В нужном месте собрать

Пишем сниппет:

$referer = $_SERVER['HTTP_REFERER'];
setcookie('referer', $referer, mktime(0, 0, 0, 1, 1, 2015));
	
if (stristr($referer, 'yandex.ru')) { 
	$search = 'text='; $crawler = 'Yandex'; 
}
else if (stristr($referer, 'rambler.ru')) { 
	$search = 'words='; $crawler = 'Rambler'; 
}
else if (stristr($referer, 'google.ru')) { 
	$search = 'q='; $crawler = 'Google'; 
}
else if (stristr($referer, 'google.com')) { 
	$search = 'q='; $crawler = 'Google'; 
}
else if (stristr($referer, 'mail.ru')) { 
	$search = 'q='; $crawler = 'Mail.Ru'; 
}
else if (stristr($referer, 'bing.com')) { 
	$search = 'q='; $crawler = 'Bing'; 
}
else if (stristr($referer, 'qip.ru')) { 
	$search = 'query='; $crawler = 'QIP'; 
}
	
if (isset($crawler)) {
	$phrase = urldecode($referer);
	preg_match('/'.$search.'([^&]*)/', $phrase.'&', $phrase2);
	$phrase = $phrase2[1];
}

setcookie('phrase', $phrase, mktime(0, 0, 0, 1, 1, 2015));

Запускаем в шаблоне, перед <!DOCTYPE>, далее если используется Formit, создаем сниппет-hook и записываем в него следующую конструкцию (как пример):

$output = '';

foreach ($_COOKIE as $k => $v) {
	if (0 === strpos($k, 'utm')) $output .=  "$k: $v \n";
}

$hook->setValue('referer', $output);
return true;

Итог: получаем плейсхолдер [[+referer]], который содержит всю необходимую информацию по рефереру. Код от руки, естественно требует доработок, но вроде нигде не ошибся.
Хоть и не в тему, но на месте как говориться. Заметил не приятную особенность, спиннер который находится в правом углу, а точнее его родитель #comments-tpanel, не имеет z-index. Приводит это к тому, что спиннер по слою получается ниже всех остальных блоков и боковой сайдбар просто перекрывает его, не давая возможности на него нажать. Поправь пожалуйста.