17 окт. 2007 г.

Использование поиска AdSense на сайте с MODX

Вчера, при попытке интегрировать поиск рекламной системы Google AdSense на сайт под управлением MODX CMS мы обнаружили проблему, решение которой достаточно простое, однако на его поиск может уйти достаточно много времени. Выражалась проблема в том, что при выполнении скрипта поиска не отображалась страница результатов, как предполагалось, а открывалась первая страница сайта. Поиск решения в интернете результатов не дал, а потому пришлось разбираться самим.

Посмотрим на часть кода, формы поиска AdSense:
...
<input type="text" name="q" size="31" maxlength="255" value="" id="sbi"></input>
...

Как видим, в форме используется параметр name="q", который в последствии передается скрипту поиска и необходим для его работы. Однако, при передаче методом GET, тот же параметр q используется MODx для работы с псевдонимами ссылок (alias) и если он присутствует, то система считает, что сайт работает через псевдонимы и пытается найти и отобразить соответствующую алиасу страницу.
Замена параметра "q" на другой, никаких результатов не дала - поиск по прежнему не работает, однако решением проблемы стала замена строчной "q" на прописную "Q". Скрипт AdSense продолжает воспринимать ее правильно, как должен воспринимать "q", а вот MODX уже считает ее другим параметром.
В результате, исправленная строчка выглядит следующим образом:
...
<input type="text" name="Q" size="31" maxlength="255" value="" id="sbi"></input>
...

А вот - код в движке MODX, вызывающий такую реакцию на параметр "q":
...
case 'alias' :
$docIdentifier= $this->db->escape($_REQUEST['q']);
break;

Надеюсь, информация будет вам полезна!
Оригинал

4 комментария:

Unknown комментирует...

Спасибо, совет дельный.
Однако возникла другая проблема, страницу на которую нужно выводить результат MODx стал определять правильно, НО "поиск" не находит на сайте информацию соответствующую запросу, хотя она есть.

Что может автор подсказать по этому поводу?

Спасибо.

Vladimir комментирует...

Возможно, google еще не проиндексировал ваш сайт?
Если есть возможность сообщите ссылку на неработающий скрипт - посмотрим, может и найдется ответ.
Хочу отметить, что в нашем случае после индексации на сайте правильно выводятся результаты поискового запроса.
Спасибо, что читаете наш блог!

Unknown комментирует...

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

С ув. AsderKDW

Vladimir комментирует...

Всегда рады помочь,
обращайтесь!