Вы не вошли.
Возможно ли при посещении страницы новости получить поисковый запрос, по которому пришёл посетитель из ПС, отделить сам текст от урл и вставить его на страницу новости в выбранном месте.
Должно получиться типа:
Вы искали "поисковая фраза". Если вы не нашли нужной вам информации - воспользуйтесь поиском по сайту ... и т.д.
На форуме не нашёл ответа...
Вне форума
попробовал заняться не своим делом )
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 12: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 13: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
Настройка клиента для подключения к конференции
Вне форума
Если не ошибаюсь, то Яша банит за такие вещи.
Все сайты, что могут быть сделаны на ng cms, должны быть сделаны на ng cms.
Расширив границы сознания, мы открываем новые горизонты жизни.
Вне форума
Прикрепил...
{news_referer} - для вывода в news.full.tpl и news.short.tpl
не работает.
так и осталось в полной новости: "{news_referer}"
...
в main.tpl вставил - тоже самое...
Отредактировано Сокол (2011-11-26 16:00:46)
Вне форума
Если не ошибаюсь, то Яша банит за такие вещи.
Банят неопытных и криворуких...
И откуда ты знаешь - как я собираюсь использовать эту функцию? )
Вне форума
Сокол, я и не знаю
я просто высказал опасение и все :)
Все сайты, что могут быть сделаны на ng cms, должны быть сделаны на ng cms.
Расширив границы сознания, мы открываем новые горизонты жизни.
Вне форума
Сокол, я и не знаю
я просто высказал опасение и все :)
Спасибо за заботу! ![]()
Но я думаю, что никакого бана не должно быть, поскольку я эту фразу буду использовать для удобства посетителя, а не для плотности ключевых слов (хотя и это можно умело сделать для продвижения...).
Вне форума
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
Настройка клиента для подключения к конференции
Вне форума
[ Сгенерировано за 0.020 сек, 7 запросов выполнено - Использовано памяти: 637.45 Кбайт (Пик: 690.45 Кбайт) ]