Substituir busca do vBulletin por Google AdSense Custom Search

  • Autor Autor imported_NkC
  • Data de início Data de início
Este tópico foi traduzido automaticamente do espanhol. Ver original
Testei novamente este tutorial na versão 4.0.3 e funciona perfeitamente.
 
E tem tutorial para vb3? :S
 
Tudo isso é muito bom, mas descumpre os Termos e Condições Padrão Online do Programa AdSense do Google:
https://www.google.com/adsense/localized-terms

Mais especificamente com:
3.1 Você deverá cumprir as especificações que o Google estabelecer a cada momento para garantir a correta publicação, visualização, assim como o acompanhamento e a comunicação de Anúncios, Links, Resultados de Busca, Botões de Referência e Características de Marca do Google em relação às suas Propriedades, incluindo a proibição de modificar qualquer código JavaScript ou outros elementos de programação que o Google tenha fornecido, salvo com a autorização expressa e por escrito do Google.

Garanto a vocês que o Google NÃO permite incluir nada em seu código JavaScript, todas as consultas realizadas vão nessa direção.
Portanto, meu conselho é que, embora a ideia seja excelente, não utilizem isso em seu site, porque poderia resultar na expulsão do programa.
 
Tudo isso está muito bem, mas descumpre os Termos e Condições Padrão Online do Programa AdSense do Google:
https://www.google.com/adsense/localized-terms

Mais especificamente com:
3.1 Você deverá cumprir as especificações que o Google estabelecer a cada momento para garantir a correta publicação, visualização, assim como o acompanhamento e a comunicação de Anúncios, Links, Resultados de Busca, Botões de Referência e Características de Marca do Google em relação às suas Propriedades, incluindo a proibição de modificar qualquer código JavaScript ou outros elementos de programação que o Google tenha lhe fornecido, salvo com a autorização expressa e por escrito do Google.

Garanto a vocês que o Google NÃO permite incluir nada em seu código JavaScript, todas as consultas realizadas vão nessa direção.
Portanto, meu conselho é que, embora a ideia seja excelente, não utilizem isso em seu site porque poderia resultar na expulsão do programa.

Neste tutorial não se está modificando nenhum código JavaScript, de fato o código que o Google nos entrega para mostrar os resultados de busca é o mesmo que eles nos dão. A única coisa que se faz é incluir na navbar a caixa de busca de outra maneira (sendo igual a mesma coisa) isso para que combine com nosso skin.

Funcionando até a versão 4.0.5
 
Não quero estragar seu tutorial, nada mais longe da minha intenção, mas sim, você está modificando.
Você não pode adaptar o código de inserção do AdSense ao seu skin, porque então você altera linhas de código do mesmo.
Você não pode colocar nada dentro do código de inserção JavaScript do AdSense, nem para mostrar os resultados nem para mostrar o formulário.
Se consultar o Google ou seus fóruns de Ajuda do AdSense verá como respondem o que estou lhe dizendo, é um tema que sempre gera controvérsia.

Se deseja modificar o tamanho e a aparência do formulário terá que dar um jeito de modificar o CSS antes de colocar o código JavaScript.
Pode fazer isso usando o comando <style> embora os resultados, certamente, não serão tão brilhantes quanto os do tutorial.
 
Nesse caso, haverá que fazer algo para tentar não modificar o código :S. Consultarei o Google mesmo se este tipo de modificação é penalizado, para no caso de sim, deixar um aviso no tutorial ^^
 
como chego à template da navbar??

tenho a 4.0.5
 
como chego à template da navbar??

tenho a 4.0.5

Estilos e Templates ---> Buscar dentro de templates: (Aparecem certas opções)

Buscar em Estilo: Escolhe o estilo a editar
Buscar por Texto: Escreve navbar
Buscar apenas títulos: Sim

Você clica em buscar e dá um clique duplo onde diz "navbar".
 
Eu tenho um problema, tenho a 4.0.6 e aparece uma tela em branco, ver se alguém pode me ajudar, obrigado
 
Testado na 4.0.6 funciona bem. Revise se você fez bem todos os passos.

PD: Se você tem skin custom, às vezes a template que aqui se proporciona para a template GOOGLE não será útil. Utilize o mesmo código que seu FORUMHOME e vá onde diz "main", apague o conteúdo que tem lá e substitua pelo código do Google.
 
Olá, boa tarde, agora mesmo o AdSense cria outro código e não dois como se menciona no manual.
Estou tentando colocar isso há meses e como uma vez fiquei o dia todo com isso e não consegui, deixei por impossível.
Comecei de novo agora mesmo para ver se consigo e vejo que gera outro code.

Vou colar para que vocês possam ver e me digam se este mesmo é o que devo colocar no Administrador de Estilo com nome de google.

Obrigado de antemão.


PHP:
<form action="http://www.google.es/cse" id="cse-search-box" target="_blank">
  <div>
    <input type="hidden" name="cx" value="partner-pub-XXXXXX:94pks2-2j6a" />
    <input type="hidden" name="ie" value="ISO-8859-1" />
    <input type="text" name="q" size="15" />
    <input type="submit" name="sa" value="Buscar" />
  </div>
</form>
<script type="text/javascript" src="http://www.google.es/cse/brand?form=cse-search-box&amp;lang=es"></script>
 
Você está fazendo errado:

- Sites Selecionados: Seu fórum obviamente, e se quiser pode adicionar outros diretórios que tenha em seu domínio, mas deverá usar o arquivo que criaremos depois em seu root.
- Abrir página de resultados: "Abrir os resultados em meu próprio site" e no quadro deverá colocar seu site, onde colocará o arquivo google.php. http://misitio.com/google.php ou talvez http://misitio.com/foro/google.php

Leia cuidadosamente e siga os passos.
 
pois eu não sei, eu tentei algumas vezes e sempre aparece uma página em branco, e outra vez não mudei o endereço que vem e redirecionava a busca para uns fóruns de motos, estou desesperado pela minha falta de jeito.
vou deixar os arquivos para vocês verem se tem algo errado.
E vocês podem me dar uma mão..


Modelo google
Inserir CODE, HTML ou PHP:
{vb:stylevar htmldoctype}
<html xmlns="http://www.w3.org/1999/xhtml" dir="{vb:stylevar textdirection}" lang="{vb:stylevar languagecode}" id="vbulletin_html">
  <head>
    <title>{vb:raw vboptions.bbtitle}</title>
    {vb:raw headinclude}
  </head>
  <body>
    
    {vb:raw header}
    
    {vb:raw navbar}
    
    <div id="pagetitle">
      <h1>{vb:raw pagetitle}</h1>
    </div>
    
    <h2 class="blockhead">SELECTER-FORO</h2>
    <div class="blockbody">
      <div class="blockrow">

<div id="cse-search-results"></div><script type="text/javascript">  var googleSearchIframeName = "cse-search-results";  var googleSearchFormName = "cse-search-box";  var googleSearchFrameWidth = 800;  var googleSearchDomain = "www.google.es";  var googleSearchPath = "/cse";</script><script type="text/javascript" src="http://www.google.com/afsonline/show_afs_search.js"></script> 
      </div>
    </div>
    
    {vb:raw footer}
  </body>
</html>

Modelo Navbar
Inserir CODE, HTML ou PHP:
<div id="navbar" class="navbar">

	<ul id="navtabs" class="navtabs floatcontainer<vb:if condition="$show['member'] AND $notifications_total"> notify</vb:if>">
		{vb:raw template_hook.navtab_start}
		<vb:if condition="!$vboptions['selectednavtab'] AND THIS_SCRIPT != 'search'">
			<li class="selected"><a class="navtab" href="{vb:raw vboptions.forumhome}.php{vb:raw session.sessionurl_q}">{vb:rawphrase forum}</a>
				<ul class="floatcontainer">
					{vb:raw template_hook.navbar_start}
					<vb:if condition="$show['searchbuttons']">
						<vb:if condition="$show['member']">
						<li><a href="search.php?{vb:raw session.sessionurl}do=getnew&amp;contenttype=vBForum_Post">{vb:rawphrase new_posts_nav}</a></li>
						<vb:else />
						<li><a href="search.php?{vb:raw session.sessionurl}do=getdaily&amp;contenttype=vBForum_Post">{vb:rawphrase todays_posts}</a></li>
						</vb:if>
					</vb:if>
					{vb:raw template_hook.navbar_after_getnew}
					<vb:if condition="$show['pmmainlink']">
						<li><a href="private.php{vb:raw session.sessionurl_q}" rel="nofollow">{vb:rawphrase private_messages}</a></li>
					</vb:if>
					{vb:raw template_hook.navbar_after_pm}
					<li><a rel="help" href="faq.php{vb:raw session.sessionurl_q}" accesskey="5">{vb:rawphrase faq}</a></li>
					{vb:raw template_hook.navbar_after_faq}
					<li><a href="calendar.php{vb:raw session.sessionurl_q}">{vb:rawphrase calendar}</a></li>
					{vb:raw template_hook.navbar_after_calendar}

					<vb:if condition="$show['communitylink']">
					<li class="popupmenu">
						<a href="javascript://" class="popupctrl" accesskey="6">{vb:rawphrase community}</a>
						<ul class="popupbody popuphover">
							{vb:raw template_hook.navbar_community_menu_start}
							<vb:if condition="$show['quick_links_groups']">
								<li><a href="group.php{vb:raw session.sessionurl_q}">{vb:rawphrase social_groups}</a></li>
							</vb:if>
							<vb:if condition="$show['quick_links_albums']">
								<li><a href="album.php{vb:raw session.sessionurl_q}">{vb:rawphrase pictures_and_albums}</a></li>
							</vb:if>
							<vb:if condition="$bbuserinfo['userid']">
								<li><a href="profile.php?{vb:raw session.sessionurl}do=buddylist"><vb:if condition="$show['friends_and_contacts']">{vb:rawphrase contacts_and_friends}<vb:else />{vb:rawphrase contacts}</vb:if></a></li>
							</vb:if>
							<vb:if condition="$show['memberslist']">
								<li><a href="memberlist.php{vb:raw session.sessionurl_q}">{vb:rawphrase members_list}</a></li>
							</vb:if>
							{vb:raw template_hook.navbar_community_menu_end}
						</ul>
					</li>
					</vb:if>
					{vb:raw template_hook.navbar_after_community}
					<li class="popupmenu">
						<a href="javascript://" class="popupctrl">{vb:rawphrase forum_actions}</a>
						<ul class="popupbody popuphover">
							<li>
								<a href="forumdisplay.php?{vb:raw session.sessionurl}do=markread&amp;markreadhash={vb:raw bbuserinfo.securitytoken}">{vb:rawphrase mark_forums_read}</a>
							</li>
                                                        <vb:if condition="$show['member']">
							<li>
								<a href="profile.php?{vb:raw session.sessionurl}do=editoptions">{vb:rawphrase edit_options}</a>
							</li>
							<li>
								<a href="profile.php?{vb:raw session.sessionurl}do=editprofile">{vb:rawphrase edit_your_details}</a>
							</li>
							</vb:if>
						</ul>
					</li>
					<li class="popupmenu">
						<a href="javascript://" class="popupctrl" accesskey="3">{vb:rawphrase quick_links}</a>
						<ul class="popupbody popuphover">
							<vb:if condition="$show['member']">
								<li><a href="subscription.php{vb:raw session.sessionurl_q}" rel="nofollow">{vb:rawphrase subscribed_threads}</a></li>
								<li><a href="javascript://" onclick="window.open(getBaseUrl() + 'misc.php?{vb:raw session.sessionurl}do=buddylist&amp;focus=1','buddylist','statusbar=no,menubar=no,toolbar=no,scrollbars=yes,resizable=yes,width=250,height=300'); return false;">{vb:rawphrase open_contacts}</a></li>
							</vb:if>
							<vb:if condition="$vboptions['forumleaders']">
							<li><a href="showgroups.php{vb:raw session.sessionurl_q}" rel="nofollow">
		<vb:if condition="$vb_suite_installed">
			{vb:rawphrase view_site_leaders}
		<vb:else />
			{vb:rawphrase view_forum_leaders}
		</vb:if>
	</a></li>
							</vb:if>
							{vb:raw template_hook.navbar_quick_links_menu_pos1}
							{vb:raw template_hook.navbar_quick_links_menu_pos2}
							{vb:raw template_hook.navbar_quick_links_menu_pos3}
							<vb:if condition="$show['wollink']">
								<li><a href="online.php{vb:raw session.sessionurl_q}">{vb:rawphrase whos_online}</a></li>
							</vb:if>
							{vb:raw template_hook.navbar_quick_links_menu_pos4}
						</ul>
					</li>
					{vb:raw template_hook.navbar_end}
				</ul>

			</li>
		<vb:else />
			<li><a class="navtab" href="{vb:raw vboptions.forumhome}.php{vb:raw session.sessionurl_q}">{vb:rawphrase forum}</a></li>
		</vb:if>
		{vb:raw template_hook.navtab_middle}
		<vb:if condition="!$vboptions['selectednavtab'] AND THIS_SCRIPT == 'search'">
			<vb:if condition="$show['member']">
			<li  class="selected"><a class="navtab" href="search.php?{vb:raw session.sessionurl}do=getnew&amp;contenttype=vBForum_Post" accesskey="2">{vb:rawphrase getnew_tab}</a>
				<ul class="floatcontainer">
					<li><a href="search.php?{vb:raw session.sessionurl}do=getnew&amp;contenttype=vBForum_Post">{vb:rawphrase new_posts_nav}</a></li>
					<li><a href="search.php?{vb:raw session.sessionurl}do=getnew&amp;contenttype=vBForum_SocialGroupMessage">{vb:rawphrase new_group_messages_nav}</a></li>
					<li><a href="search.php?{vb:raw session.sessionurl}do=getnew&amp;contenttype=vBForum_Event">{vb:rawphrase new_events_nav}</a></li>
					{vb:raw template_hook.navbar_getnew_menu}
					<li><a href="forumdisplay.php?{vb:raw session.sessionurl}do=markread&amp;markreadhash={vb:raw bbuserinfo.securitytoken}">{vb:rawphrase mark_forums_read}</a></li>
				</ul>
			</li>
			<vb:else />
			<li  class="selected"><a class="navtab" href="search.php?{vb:raw session.sessionurl}do=getdaily&amp;contenttype=vBForum_Post" accesskey="2">{vb:rawphrase getnew_tab}</a>
				<ul class="floatcontainer">
					<li><a href="search.php?{vb:raw session.sessionurl}do=getdaily&amp;contenttype=vBForum_Post">{vb:rawphrase todays_posts}</a></li>
					<li><a href="search.php?{vb:raw session.sessionurl}do=getdaily&amp;contenttype=vBForum_SocialGroupMessage">{vb:rawphrase daily_group_message}</a></li>
					<li><a href="search.php?{vb:raw session.sessionurl}do=getdaily&amp;contenttype=vBForum_Event">{vb:rawphrase daily_events}</a></li>
					{vb:raw template_hook.navbar_getdaily_menu}
					<li><a href="forumdisplay.php?{vb:raw session.sessionurl}do=markread&amp;markreadhash={vb:raw bbuserinfo.securitytoken}">{vb:rawphrase mark_forums_read}</a></li>
				</ul>
			</li>
			</vb:if>
		<vb:elseif condition="$show['member']" />
			<li><a class="navtab" href="search.php?{vb:raw session.sessionurl}do=getnew&amp;contenttype=vBForum_Post" accesskey="2">{vb:rawphrase getnew_tab}</a></li>
		<vb:else />
			<li><a class="navtab" href="search.php?{vb:raw session.sessionurl}do=getdaily&amp;contenttype=vBForum_Post" accesskey="2">{vb:rawphrase getnew_tab}</a></li>
		</vb:if>
		{vb:raw template_hook.navtab_end}
	</ul>

	<vb:if condition="$vboptions['enablesearches']">
	<div id="globalsearch" class="globalsearch">
		<form action="http://selecter.sytes.net/google.php"  id="cse-search-box">
			<vb:comment><input type="hidden" name="s" value="{vb:raw session.sessionurl}" /></vb:comment>
			<input type="hidden" name="securitytoken" value="{vb:raw bbuserinfo.securitytoken}" />
			<input type="hidden" name="do" value="process" />
			<span class="textboxcontainer"><span><input type="text" value="" name="q" class="textbox" tabindex="99"/></span></span>
			<span class="buttoncontainer"><span><input type="image" class="searchbutton" src="{vb:stylevar imgdir_button}/search.png" name="sa" onclick="document.getElementById('navbar_search').submit;" tabindex="100"/></span></span>
		</form>
		<script type="text/javascript" src="http://www.google.com/cse/brand?form=cse-search-box&amp;lang=es"></script>
		<ul class="navbar_advanced_search">
			<li><a href="search.php{vb:raw session.sessionurl_q}" accesskey="4">{vb:rawphrase advanced_search}</a></li>
		</ul>
	</div>
	</vb:if>
</div>
</div><!-- closing div for above_body -->

<div class="body_wrapper">
<div id="breadcrumb" class="breadcrumb">
	<ul class="floatcontainer">
		<li class="navbithome"><a href="index.php{vb:raw session.sessionurl_q}" accesskey="1"><img src="{vb:stylevar imgdir_misc}/navbit-home.png" alt="{vb:rawphrase home}" /></a></li>

		{vb:raw navbits.breadcrumb}
		{vb:raw navbits.lastelement}
	</ul>
	<hr />
</div>

{vb:raw ad_location.ad_navbar_below}
{vb:raw ad_location.global_below_navbar}

<vb:if condition="$show['notices'] AND THIS_SCRIPT != 'register'">
	<form action="profile.php?do=dismissnotice" method="post" id="notices" class="notices">
		<input type="hidden" name="cx" value="partner-pub-6878065923311451:c82tzkmrhto" />
<input type="hidden" name="cof" value="FORID:10" />
<input type="hidden" name="ie" value="ISO-8859-1" />
		<input type="hidden" id="dismiss_notice_hidden" name="dismiss_noticeid" value="" />
		<input type="hidden" name="url" value="{vb:raw return_link}" />
		<ol>
			{vb:raw notices}
		</ol>
	</form>
</vb:if>

Arquivo Google
Inserir CODE, HTML ou PHP:
<?php

// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// #################### DEFINE IMPORTANT CONSTANTS #######################

define('THIS_SCRIPT', 'test');
define('CSRF_PROTECTION', true);  
// change this depending on your filename

// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();

// get special data templates from the datastore
$specialtemplates = array();

// pre-cache templates used by all actions
$globaltemplates = array('GOOGLE',
);

// pre-cache templates used by specific actions
$actiontemplates = array();

// ######################### REQUIRE BACK-END ############################
// Si tu sitio se encuentra fuera del root, osea lo tienes en otro directorio, deberes especificarlo en el // chdir sino simplemente dejalo con los slash.
// chdir ('ruta/a/vuestro/foro');
require_once('./global.php');

// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################

$navbits = construct_navbits(array('' => 'B&uacute;squeda Foro Selecter'));
$navbar = render_navbar_template($navbits);

// ###### YOUR CUSTOM CODE GOES HERE #####
$pagetitle = 'B&uacute;squeda con Google en Foro selecter';

// ###### NOW YOUR TEMPLATE IS BEING RENDERED ######

$templater = vB_Template::create('GOOGLE');
$templater->register_page_templates();
$templater->register('navbar', $navbar);
$templater->register('pagetitle', $pagetitle);
print_output($templater->render());

?>
 
Bem, estive revisando passo a passo o seu código e encontrei um erro, no template navbar... faltou este passo

Abaixo procure por:

Código:
<input type="hidden" name="s" value="{vb:raw session.sessionurl}" />
<input type="hidden" name="securitytoken" value="{vb:raw bbuserinfo.securitytoken}" />
<input type="hidden" name="do" value="process" />
Substitua por:

Código:
<input type="hidden" name="cx" value="partner-pub-XXXXXXXXXXXXXXXXXXXX" />
<input type="hidden" name="cof" value="FORID:10" />
<input type="hidden" name="ie" value="ISO-8859-1" />

Os X em vermelho é o seu ID do Adsense que está no Quadro de Busca que o Adsense gerou para você.

Não continuei revisando, tente fazer esse passo para ver se funciona 🙂

PS: Deixe um obrigado xD
 
Para o pessoal que diz que fica uma tela em branco e faz como se não buscasse, certifiquem-se de que o template GOOGLE vocês nomearam em maiúsculas e não em minúsculas, já que o código do arquivo google.php faz referência ao template "GOOGLE" e não a "google". Comigo aconteceu isso e resolvi assim.

No mais, agora funciona perfeitamente para mim. Obrigado por este ótimo tópico. 😀

NOTA: Funciona perfeitamente na versão 4.0.7
 
Muito obrigado MIGUELITRO, eu já estava ficando louco e não sabia por que não funcionava e veja só que bobagem era, eu estava escrevendo em minúsculas...
 
Eu não sei o que estou fazendo de errado, mas quando busco, fica em branco e não retorna nada. O template está em maiúsculas, mas não sei o que pode ser.

Não é o tema padrão do vbulletin, não sei se será isso...
 
Revise se você realizou corretamente os passos, é fácil se enganar... e em alguns casos você deve substituir valores que são mostrados no tutorial pelos seus.
 
Olá, gostaria de fazer uma perguntinha.

Bem, acontece que fiz todo o processo, e ao que parece tudo correto (eu acho), aparece esta tela

Ver o anexo 4403

mas na hora de buscar, ele busca como se fosse o Google normal.... (refiro-me a isto, é o que aparece abaixo da foto acima.

Ver o anexo 4404

Meu fórum é novo, mal tem mensagens, (a busca que faz como se fosse o portal Google, é devido ao fato de que ainda não estou indexado?)

quando o Google me indexar, continuará fazendo buscas como se fosse o portal Google?.

Não sei se me expressei bem, se não entenderem me falem.

Muito obrigado pela ajuda!.
 
Você colocou seu site para a busca?... revise o guia nos primeiros passos.
 
Voltar
Topo