Вы не зашли.
Возможно ли при посещении страницы новости получить поисковый запрос, по которому пришёл посетитель из ПС, отделить сам текст от урл и вставить его на страницу новости в выбранном месте.
Должно получиться типа:
Вы искали "поисковая фраза". Если вы не нашли нужной вам информации - воспользуйтесь поиском по сайту ... и т.д.
На форуме не нашёл ответа...
Не в сети
попробовал заняться не своим делом )
1. Поменял код как здесь советуют:
http://ngcms.ru/forum/viewtopic.php?pid=22459#p22459
2. добавил в main.tpl вот такую строчку:
<?php include("referer.php"); ?>
3. создал файлик referer.php и залил его в папку с шаблоном
перешёл с яндекса по запросу - пусто
Что я сделал неправильно?
***
Содержимое файлика:
<?php
function referer(){
engines =
[
{start:'http://www.google.', query:'q', name:'google'},
{start:'http://yandex.', query:'text', name:'yandex'},
{start:'rambler.ru/search', query:'query', name:'rambler'},
{start:'http://go.mail.ru/', query:'q', name:'mailru', utf8:true},
{start:'http://www.bing.com/', query:'q', name:'bing'},
{start:'search.yahoo.com/search', query:'p', name:'yahoo'},
{start:'http://ru.ask.com/', query:'q', name:'ask'},
{start:'http://search.qip.ru/search', query:'query', name:'qip'}
];
var ref=document.referrer,req="",engine="", start, utf8;
for (var i in engines){
if (!engines.hasOwnProperty(i))
continue;
if (ref.indexOf(engines[i].start)==-1)
continue;
start = ref.indexOf('?' + engines[i].query + '=')
if (start == -1){
start = ref.indexOf('&' + engines[i].query + '=');
if (start == -1)
return false;
}
engine = engines[i].name;
req = engines[i].query;
utf8 = engines[i].hasOwnProperty('utf8');
}
if (!engine)
return false;
ref = ref.substr(start + req.length + 2);
var end = ref.indexOf('&');
if (end != -1)
ref = ref.substr(0, end);
if (utf8){
function win2unicode(str) {
var charmap = unescape(
"%u0402%u0403%u201A%u0453%u201E%u2026%u2020%u2021%u20AC%u2030%u0409%u2039%u040A%u040C%u040B%u040F"+
"%u0452%u2018%u2019%u201C%u201D%u2022%u2013%u2014%u0000%u2122%u0459%u203A%u045A%u045C%u045B%u045F"+
"%u00A0%u040E%u045E%u0408%u00A4%u0490%u00A6%u00A7%u0401%u00A9%u0404%u00AB%u00AC%u00AD%u00AE%u0407"+
"%u00B0%u00B1%u0406%u0456%u0491%u00B5%u00B6%u00B7%u0451%u2116%u0454%u00BB%u0458%u0405%u0455%u0457")
var code2char = function(code) {
if(code >= 0xC0 && code <= 0xFF) return String.fromCharCode(code - 0xC0 + 0x0410)
if(code >= 0x80 && code <= 0xBF) return charmap.charAt(code - 0x80)
return String.fromCharCode(code)
}
var res = ""
for(var i = 0; i < str.length; i++) res = res + code2char(str.charCodeAt(i))
return res
}
ref = unescape(ref);
ref = win2unicode(ref);
}else
ref = decodeURIComponent(ref);
ref = ref.replace(/[+]+/g, ' ')
return {"engine": engine, "query": ref};
}
?>
Изменено Сокол (2011-11-26 13:59:09)
Не в сети
Сокол, print $_SERVER['HTTP_REFERER']; в index.php и смотри результат...
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Ты откуда выдернул этот код?))
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Проверил инклуд - работает.
Что то не так с кодом получения запроса значит.
Кто шарит - подскажите пожалуйста, в чём дело?
Не в сети
Сокол, print $_SERVER['HTTP_REFERER']; в index.php и смотри результат...
Это будет выдавать весь урл вроде?
Мне нужен только текст поискового запроса.
***
Вставил - посмотрел.
Вот что выдаёт:
http://yandex.ru/yandsearch?clid=9582&text=%D1%81%D0%BE%D0%BA%D0%BE%D0%BB%D0%B1%D0%B0%D0%BD%D0%BA&lr=62
мне нужно раскодировать в windows-1251, обрезать мусор, и оставить только запрос.
Изменено Сокол (2011-11-26 14:14:31)
Не в сети
ROZARD пишет:Сокол, print $_SERVER['HTTP_REFERER']; в index.php и смотри результат...
Это будет выдавать весь урл вроде?
Да...
Тот код который ты привел не полон, ты его видать из класса выдернул...
И кажется был уже готовый плагин который показывал эти запросы, его давным давно ещё свайзер написал для 2z...
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Может кто поможет вот из этой инфы собрать код:
http://www.manhunter.ru/webmaster/73_parser_refererov_s_poiskovih_sistem.html
Не в сети
И кажется был уже готовый плагин который показывал эти запросы, его давным давно ещё свайзер написал для 2z...
А для НГ такого нет значит?
Я не программист... но если бы кто подсказал, то я своими силами бы сделал такой хук на свой сайт.
Не в сети
Может кто поможет вот из этой инфы собрать код:
http://www.manhunter.ru/webmaster/73_parser_refererov_s_poiskovih_sistem.html
И тестирование на твоем сайте?:)
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Сокол пишет:Может кто поможет вот из этой инфы собрать код:
http://www.manhunter.ru/webmaster/73_parser_refererov_s_poiskovih_sistem.htmlИ тестирование на твоем сайте?:)
А почему бы и нет?... )
Лишь бы код составить правильно. А я проверю на практике. Если не будет работать - отпишу результат.
Тебе же, например, наверняка напрягаться неохота будет заливать на сайт и тестить скрипт?
Не в сети
Вижу, что надо как-то вызвать функцию referer и вывести результат на странице...
Даа... а я думал что всё это проще можно сделать...
Не в сети
Прикрепил...
{news_referer} - для вывода в news.full.tpl и news.short.tpl
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Прикрепил...
{news_referer} - для вывода в news.full.tpl и news.short.tpl
не работает.
так и осталось в полной новости: "{news_referer}"
...
в main.tpl вставил - тоже самое...
Изменено Сокол (2011-11-26 17:00:46)
Не в сети
Если не ошибаюсь, то Яша банит за такие вещи.
Банят неопытных и криворуких...
И откуда ты знаешь - как я собираюсь использовать эту функцию? )
Не в сети
Сокол, я и не знаю я просто высказал опасение и все
Спасибо за заботу!
Но я думаю, что никакого бана не должно быть, поскольку я эту фразу буду использовать для удобства посетителя, а не для плотности ключевых слов (хотя и это можно умело сделать для продвижения...).
Не в сети
ROZARD пишет:Прикрепил...
{news_referer} - для вывода в news.full.tpl и news.short.tplне работает.
так и осталось в полной новости: "{news_referer}"
...
в main.tpl вставил - тоже самое...
В main.tpl работать не будет, но вот в news.full.tpl и news.short.tpl должно работать...
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
В main.tpl работать не будет, но вот в news.full.tpl и news.short.tpl должно работать...
В news.full.tpl вставлял без тегов даже - не обрабатывается.
Движок: 0.9.2 Release [SVN646]
Не в сети
Перейди по ссылке...
http://www.google.ru/url?sa=t&rct=j&q=h … OQ&cad=rjt
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Перейди по ссылке...
http://www.google.ru/url?sa=t&rct=j&q=h … OQ&cad=rjt
Может у тебя движок посвежее?
Это в шаб короткой новости вставлено?
Не в сети
ROZARD пишет:Перейди по ссылке...
http://www.google.ru/url?sa=t&rct=j&q=h … OQ&cad=rjtМожет у тебя движок посвежее?
0.9.3 SVN 906 но тут дело не в версии...
Это в шаб короткой новости вставлено?
Да...
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
0.9.3 SVN 906 но тут дело не в версии...
А в чём может быть дело?
Может именно в версии???
Не в сети
Сокол, Дай доступ на сайт и на фтп я сам посмотрю...
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети