Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2011-11-26 13:17:25

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Возможно ли при посещении страницы получить поисковый запрос?

Возможно ли при посещении страницы новости получить поисковый запрос, по которому пришёл посетитель из ПС, отделить сам текст от урл и вставить его на страницу новости в выбранном месте.

Должно получиться типа:
Вы искали "поисковая фраза". Если вы не нашли нужной вам информации - воспользуйтесь поиском по сайту ... и т.д.

На форуме не нашёл ответа...

Не в сети

#2 2011-11-26 13:57:08

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

попробовал заняться не своим делом )
1. Поменял код как здесь советуют:
http://ngcms.ru/forum/viewtopic.php?pid=22459#p22459
2. добавил в main.tpl вот такую строчку:

<?php include("referer.php"); ?>

3. создал файлик referer.php и залил его в папку с шаблоном
перешёл с яндекса по запросу - пусто sad
Что я сделал неправильно?

***
Содержимое файлика:

<?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)

Не в сети

#3 2011-11-26 14:05:26

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

Сокол, print $_SERVER['HTTP_REFERER']; в index.php и смотри результат...

Не в сети

#4 2011-11-26 14:08:01

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

Ты откуда выдернул этот код?))

Не в сети

#5 2011-11-26 14:09:15

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

Проверил инклуд - работает.
Что то не так с кодом получения запроса значит.
Кто шарит - подскажите пожалуйста, в чём дело?

Не в сети

#6 2011-11-26 14:10:37

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

ROZARD пишет:

Сокол, 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)

Не в сети

#7 2011-11-26 14:14:48

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

Сокол пишет:
ROZARD пишет:

Сокол, print $_SERVER['HTTP_REFERER']; в index.php и смотри результат...

Это будет выдавать весь урл вроде?

Да...
Тот код который ты привел не полон, ты его видать из класса выдернул...
И кажется был уже готовый плагин который показывал эти запросы, его давным давно ещё свайзер написал для 2z...

Не в сети

#8 2011-11-26 14:23:27

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

Может кто поможет вот из этой инфы собрать код:
http://www.manhunter.ru/webmaster/73_parser_refererov_s_poiskovih_sistem.html

Не в сети

#9 2011-11-26 14:25:23

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

ROZARD пишет:

И кажется был уже готовый плагин который показывал эти запросы, его давным давно ещё свайзер написал для 2z...

А для НГ такого нет значит?
Я не программист... но если бы кто подсказал, то я своими силами бы сделал такой хук на свой сайт.

Не в сети

#10 2011-11-26 14:28:56

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

Сокол пишет:

Может кто поможет вот из этой инфы собрать код:
http://www.manhunter.ru/webmaster/73_parser_refererov_s_poiskovih_sistem.html

И тестирование на твоем сайте?:)

Не в сети

#11 2011-11-26 14:43:49

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

ROZARD пишет:
Сокол пишет:

Может кто поможет вот из этой инфы собрать код:
http://www.manhunter.ru/webmaster/73_parser_refererov_s_poiskovih_sistem.html

И тестирование на твоем сайте?:)

А почему бы и нет?... )
Лишь бы код составить правильно. А я проверю на практике. Если не будет работать - отпишу результат.
Тебе же, например, наверняка напрягаться неохота будет заливать на сайт и тестить скрипт?

Не в сети

#12 2011-11-26 14:55:30

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

Вижу, что надо как-то вызвать функцию referer и вывести результат на странице...
Даа... а я думал что всё это проще можно сделать...

Не в сети

#13 2011-11-26 14:58:58

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

Прикрепил...
{news_referer} - для вывода в news.full.tpl и news.short.tpl

Не в сети

#14 2011-11-26 16:29:39

easmik
VIP забанил этого пользователя.
Зарегистрирован: 2011-02-01
Сообщений: 1,031
Рейтинг :   37 

Re: Возможно ли при посещении страницы получить поисковый запрос?

Если не ошибаюсь, то Яша банит за такие вещи.

Не в сети

#15 2011-11-26 16:55:15

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

ROZARD пишет:

Прикрепил...
{news_referer} - для вывода в news.full.tpl и news.short.tpl

не работает.
так и осталось в полной новости: "{news_referer}"
...
в main.tpl вставил - тоже самое...

Изменено Сокол (2011-11-26 17:00:46)

Не в сети

#16 2011-11-26 16:56:57

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

easmik пишет:

Если не ошибаюсь, то Яша банит за такие вещи.

Банят неопытных и криворуких...
И откуда ты знаешь - как я собираюсь использовать эту функцию? )

Не в сети

#17 2011-11-26 17:00:27

easmik
VIP забанил этого пользователя.
Зарегистрирован: 2011-02-01
Сообщений: 1,031
Рейтинг :   37 

Re: Возможно ли при посещении страницы получить поисковый запрос?

Сокол, я и не знаю smile я просто высказал опасение и все smile

Не в сети

#18 2011-11-26 17:03:07

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

easmik пишет:

Сокол, я и не знаю smile я просто высказал опасение и все smile

Спасибо за заботу! smile
Но я думаю, что никакого бана не должно быть, поскольку я эту фразу буду использовать для удобства посетителя, а не для плотности ключевых слов (хотя и это можно умело сделать для продвижения...).

Не в сети

#19 2011-11-26 18:09:42

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

Сокол пишет:
ROZARD пишет:

Прикрепил...
{news_referer} - для вывода в news.full.tpl и news.short.tpl

не работает.
так и осталось в полной новости: "{news_referer}"
...
в main.tpl вставил - тоже самое...

В main.tpl работать не будет, но вот в news.full.tpl и news.short.tpl должно работать...

Не в сети

#20 2011-11-26 19:25:39

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

ROZARD пишет:

В main.tpl работать не будет, но вот в news.full.tpl и news.short.tpl должно работать...

В news.full.tpl вставлял без тегов даже - не обрабатывается.
Движок:    0.9.2 Release [SVN646]

Не в сети

#21 2011-11-26 20:01:10

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

Перейди по ссылке...
http://www.google.ru/url?sa=t&rct=j&q=h … OQ&cad=rjt

Не в сети

#22 2011-11-27 06:09:37

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

ROZARD пишет:

Может у тебя движок посвежее?
Это в шаб короткой новости вставлено?

Не в сети

#23 2011-11-27 12:50:58

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

Сокол пишет:
ROZARD пишет:

Может у тебя движок посвежее?

0.9.3 SVN 906 но тут дело не в версии...

Сокол пишет:

Это в шаб короткой новости вставлено?

Да...

Не в сети

#24 2011-11-27 17:45:40

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

ROZARD пишет:

0.9.3 SVN 906 но тут дело не в версии...

А в чём может быть дело?
Может именно в версии???

Не в сети

#25 2011-11-27 19:33:30

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: Возможно ли при посещении страницы получить поисковый запрос?

Сокол, Дай доступ на сайт и на фтп я сам посмотрю...

Не в сети

Подвал раздела

Работает на FluxBB