Как разместить элемент поиска Google Custom Search V2 на главной странице, а результат — на дочерней странице

Я пытаюсь внедрить Google CSE на своем сайте, я отформатировал внешний вид поля поиска и результат на сайте Google CSE, теперь я хочу сделать следующее:

  • Разместите окно поиска на Master странице, чтобы оно отображалось везде
  • Показать результаты на отдельной странице, скажем, "search.aspx", которая является дочерней страницей Master.
  • На странице результатов поле поиска остается там, где оно находится на главной странице. и есть div для отображения результатов.

Я знаю, что у нас есть следующие элементы, которые можно использовать.

  • <gcse:search>
  • <gcse:searchbox> и <gcse:searchresults> Двухколоночный макет
  • <gcse:searchbox-only> Отдельное окно поиска
  • <gcse:searchresults-only> Отдельный блок результатов поиска.

Но я полагаю, что мое требование может быть выполнено только с использованием комбинации выше, но не уверен, какой из них.

Если кто-то делал это, не могли бы вы указать мне, как это сделать.


person Shekhar_Pro    schedule 07.09.2012    source источник


Ответы (1)


хитрость в том, чтобы сделать перенаправление на страницу поиска, размещая поиск по URL-адресу, например, что-то вроде:

Вы везде ищете (на мастере) слово test, и ваш код, если вы не на search.aspx, выполняет перенаправление на:

search.aspx?q=test

Теперь, внутри search.aspx, вы читаете запрос q и помещаете его в текстовое поле, которое Google использует для поиска, и все - ах, и один пост обратно в Google.

например, код будет выглядеть так:

<form action="search.aspx" id="Form1">
  <div>                     
    <input type="hidden" name="cx" value="partner-pub-XXXXXXXXXX" />
    <input type="hidden" name="cof" value="FORID:10" />
    <input type="hidden" name="ie" value="UTF-8" />

    <input type="text" name="q" size="46" value="<%=Server.HtmlEncode(Current.Request["q"]) %>" />
    <input type="submit" name="sa" value="Search" />
  </div>
</form>
person Aristos    schedule 07.09.2012
comment
Вы уверены, что приведенный выше HTML-код, который вы написали, предназначен для Google CSE V2, насколько мне известно, для перенаправления вы можете использовать '‹gcse:searchbox-only resultUrl=your.url.com queryparametername=query_name›' - person Shekhar_Pro; 07.09.2012
comment
@Shekhar_Pro Я просто даю вам идею, я не знаю, как вы сделали свой поиск в Google - как ваш код Google, тот, который я использую, такой. - person Aristos; 07.09.2012
comment
@Shekhar_Pro - это просто идея, которую мы придумали за 2 года до этого... но мы продолжаем внутреннюю индексацию, так что вы можете ее улучшить. - person Aristos; 07.09.2012