Reemplazar Busqueda Vb por Google Adsense custom search

imported_NkC Seguir

Delta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
4 Feb 2010
Mensajes
706
Primero aclarar que esta guia fue hecha por SemperFideles en este post Replace search with Google Custom Search - Page 3 - vBulletin.org Forum y también usare la guia traducida que puse Spika de Vbhispano en este post http://www.vbhispano.com/foros/f39/cambiar_barra_busqueda_normal_barra_adsense-17588/#post92633, pero como no vi la guia en la sección adecuada la pondre para proximos usuarios que quieran hacer esta implementacion, que por cierto es muy buena y util tambien si usas adsense.

1.- Deberas ingresar a tu cuenta adsense y crear un nuevo buscador custom, estas son las opciones que deben usar, las demas pueden quedar por default:

- Tipo de búsqueda: "Sólo los sitios que selecciono"
- Sitios Seleccionados: Tu foro obviamente, y si quieres puedes agregar otros directorios que tengas en tu dominio, pero deberas usar el archivo que crearemos despues en tu root.
- Abrir página de resultados: "Abrir los resultados en mi propio sitio" y en el recuadro deberas poner tu sitio, donde colocaras el archivo google.php. http://misitio.com/google.php o quizas http://misitio.com/foro/google.php
Ver el archivo adjunto 3209Ver el archivo adjunto 3210
Lo demas que coloquen no es relevante en realidad para el resultado final, haganlo a gusto.

Al finalizar la configuración y nos de el codigo, serán 2 codigos.
Ver el archivo adjunto 3208

2.- Ahora que tenemos los códigos de Adsense vamos a nuestro:
Panel de Administrador de VBulletin --> Administrador de Estilos --> Añadir Nueva Plantilla
Le llamamos GOOGLE y le pegamos el siguiente código que está incluido los datos que Google Adsense os generó para el archivo google.php (en verde)


Insertar CODE, HTML o 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">[COLOR=red]EL TITULO DE TU SITIO[/COLOR]</h2>
    <div class="blockbody">
      <div class="blockrow">

[COLOR=red]<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>[/COLOR]
      </div>
    </div>
    
    {vb:raw footer}
  </body>
</html>
En rojo esta lo que debemos cambiar, el titulo de nuestro buscador del foro y el segundo codigo lo reemplazarán por su codigo que les dio google adsense (es el segundo, el que dice que es para su archivo google.php).

3.- Crear el archivo google.php, este nuevo archivo lo ubicaremos en la url que le dimos a google, ya sea el root o /foro, etc:

Insertar CODE, HTML o 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 [COLOR=red]// chdir sino simplemente dejalo con los slash.
// chdir ('ruta/a/vuestro/foro');[/COLOR]
require_once('./global.php');

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

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

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

// ###### 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());

?>
Lo que esta en rojo es lo que deben modificar, en caso que sea necesario.

4.- Ahora solo queda reemplazarlo en nuestro navbar (copiar pegar del post de Spika):

En la plantilla navbar, busca por:

Insertar CODE, HTML o PHP:
<form action="search.php?do=process" method="post" id="navbar_search" class="navbar_search">
Reemplaza por, asegurate de ingresar tu dirección al archivo google.php:

Insertar CODE, HTML o PHP:
<form action="[B][COLOR=Red]http://www.midominio.com/google.php[/COLOR][/B]"  id="cse-search-box">
Debajo Busca por:

Insertar CODE, HTML o PHP:
<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" />
Reemplaza por:

Insertar CODE, HTML o PHP:
<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" />
Las X en rojo es el ID tuyo de Adsense que está en el Cuadro de Búsqueda que os generó Adsense.

Busca por:

Insertar CODE, HTML o PHP:
<input type="text" value="" name="query" class="textbox" tabindex="99"/>
Reemplaza por:

Insertar CODE, HTML o PHP:
<input type="text" value="" name="q" class="textbox" tabindex="99"/>
Busca por:

Insertar CODE, HTML o PHP:
<input type="image" class="searchbutton" src="{vb:stylevar imgdir_button}/search.png" name="submit" onclick="document.getElementById('navbar_search').submit;" tabindex="100"/>
Reemplaza por:

Insertar CODE, HTML o PHP:
<input type="image" class="searchbutton" src="{vb:stylevar imgdir_button}/search.png" name="sa" onclick="document.getElementById('navbar_search').submit;" tabindex="100"/>
Busca por:
</form>
Aparece dos veces. Debajo de la primera vez que aparece, agregas esto:

Insertar CODE, HTML o PHP:
<script type="text/javascript" src="http://www.google.com/cse/brand?form=cse-search-box&amp;lang=es"></script>
 

nitroermalinua

Alfa
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
20 Dic 2008
Mensajes
26
Buenas pues yo hice lo mismo y sale casi todo bien solo que no busca cuando le das a buscar me redireciona a una web de hosting es algo raro ¿ podriais echarme una mano? gracias
Mi foro -----> pa que veais la busqueda

os pongo el archivo navba por siveis algo mas

<vb:if condition="$vboptions['enablesearches']">
<div id="globalsearch" class="globalsearch">
<form action="http://www.cannabisgaci.com/google.php" id="cse-search-box">
<input type="hidden" name="cx" value="partner-pub-04812485983xxxxx:qwy6ad-9ulp" />
<input type="hidden" name="cof" value="FORID:10" />
<input type="hidden" name="ie" value="ISO-8859-1" />
<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>
 

imported_NkC

Delta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
4 Feb 2010
Mensajes
706
Hola , hago todo lo que vos decis y me tira este error


http://i41.tinypic.com/ru380l.jpg

Ese es un error de google no del reemplazo en si... google search your client has issued a malformed or illegal request - Buscar con Google

Prueba preguntando en lo foros de google.

Buenas pues yo hice lo mismo y sale casi todo bien solo que no busca cuando le das a buscar me redireciona a una web de hosting es algo raro ¿ podriais echarme una mano? gracias
Mi foro -----> pa que veais la busqueda

os pongo el archivo navba por siveis algo mas

Emmm no me tira a una pagina de hosting :S... pero tampoco me realiza la busqueda, a mi cuando me ocurria esto era por mala configuración algo que hice mal en el proceso, en mi caso era problema con las rutas del archivo google.php
 

nitroermalinua

Alfa
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
20 Dic 2008
Mensajes
26
Bueno pues vamos mejorando ya no me sale la pagina en blanco perono busca me da este resultado : div id="cse-search-results">
 

nitroermalinua

Alfa
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
20 Dic 2008
Mensajes
26
Mira en la plantilla google veo k me faltaba el title pero no se os pego el cigo haber si veis algo raro

{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">CannabisGaci</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>



{vb:raw footer}
</body>
</html>


---------- Actualizado a las 20:16 ---------- Original a las 20:13 ----------

ufff sorry ya lo vi jejejej k mal he kedao menos mal k mi foro es de lo k es :)))
 

imported_NkC

Delta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
4 Feb 2010
Mensajes
706
Sip como te dije te comiste un <, prueba con este codigo:

HTML:
{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">EL TITULO DE TU SITIO</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>

reemplazalo completo por ese que te deje, ese esta correcto.
 

g3oniTz

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
21 Dic 2008
Mensajes
65
muchas gracias, tengo una duda esto salva ancho de banda en el servidor?
 

imported_NkC

Delta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
4 Feb 2010
Mensajes
706
No lo habia pensado asi, pero si porque la busqueda te la hace google no tu foro :D
 

dino

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
6 Mar 2008
Mensajes
222
hola buenos días

necesito que me ayuden sobre la ruta a poner


// ######################### 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');





seria poner la ruta
// chdir ('/var/www/vhosts/universosymbian.org/httpdocs/
');
 

imported_NkC

Delta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
4 Feb 2010
Mensajes
706

dino

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
6 Mar 2008
Mensajes
222
Nop lo que queria decir es que si tu archivo google.php se encuentra en una ruta distinta a tu foro, de nivel inferior puede ser.

Por ejemplo si tienes el archivo google.php en: Welcome to misitio.com! Search Results Powered by OXiDE search ....radical results (TM) y tu foro esta en http://misitio.com/foro deberas dejarlo de esta forma:

chdir ('/foro');

Igual es mejor que subas el archivo google.php al root de tu foro a si evitas posibles errores ^^.
mi foro se encuentra en la raiz, no tengo carpeta llamada foro.

el buscador me funciona bien, pero tengo errores en los logs.

]espero su ayuda, gracias.
 

imported_NkC

Delta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
4 Feb 2010
Mensajes
706
No se en realidad pero prueba borrando esto:

// chdir ('ruta/a/vuestro/foro');

de tu google.php
 

Gmaster

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
22 May 2009
Mensajes
208
No se en realidad pero prueba borrando esto:

// chdir ('ruta/a/vuestro/foro');

de tu google.php

Nika, todo lo que empieza con // son comentarios!!!. Para que funcione esa seccion no tiene que tener esas 2 barras.

Y en mi caso, tambien me daba error, lo solucione poniendo la direccion asi:

chdir ('/home/xxx/public_html/foros')

Pero me da un error de ilegalidad. Error que veo que les salen a muchas personas.

Saludos!.
 

imported_raulin

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
18 Dic 2009
Mensajes
227
Nika, todo lo que empieza con // son comentarios!!!. Para que funcione esa seccion no tiene que tener esas 2 barras.

Y en mi caso, tambien me daba error, lo solucione poniendo la direccion asi:

chdir ('/home/xxx/public_html/foros')

Pero me da un error de ilegalidad. Error que veo que les salen a muchas personas.

Saludos!.

Hola, yo lo tengo asi: // ;
Borre el
chdir y lo demas y funciona sin ningun problema.

 

imported_NkC

Delta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
4 Feb 2010
Mensajes
706
Yo igual lo tngo con los // pero le dije eso pensando que quizas habia quitado los // y solo tenia el chdir. En todo caso eso es depende de donde coloques el archivo google.php si lo tienes en el root del foro no hay para que especificar la ruta chdir.
 
Arriba