Архив блога

Наше ВСЁ

Читайте блог в формате RSS!

Использование поиска 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;

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


Автор: Vladimir, 17.10.2007 00:22

← все посты

Комментарии

Alexander | 01.11.2008, 19:40
*Надеюсь, информация будет вам полезна!*

фигасе, ещё как полезно, я чуть на эти глабли не настипил, спс за прозрение :)
Алексей | 28.11.2008, 01:05
Спасибо! Актуально.
Код верификации