Tutorial: Ventana con publicidad que invita al registro (se puede cerrar)

imported_NkC Seguir

Delta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
4 Feb 2010
Mensajes
706
Aquí vengo con otro tutorial, esto es muy útil para colocar tu publicidad de adsense a usuarios que no se han registrado. Inspirado en el tutorial de Gmaster: Enlace eliminado y este tema: Enlace eliminado . Espero les agrade y sea útil.

Importante! No se recomienda usar Adsense; esto por 2 motivos, primero por alguna razón el script para cerrar no funciona con google adsense (voy a averiguar sobre el tema, ya que no conozco sobre javascript) y segundo, aún más importante, Adsense no permite su codigo en popup's. Les pueden cerrar la cuenta o penalizar sus ingresos.

¿Como se vé?
Enlace eliminado

* Para comenzar dejo el código bruto que deberán agregar a su plantilla HEADER, al comienzo de ella.

PHP:
<vb:if condition="$show['guest']">
<script type="text/javascript">
var persistclose=0 //set to 0 or 1. 1 means once the bar is manually closed, it will remain closed for browser session
var startX = 30 //set x offset of bar in pixels
var startY = 90 //set y offset of bar in pixels
var verticalpos="fromtop" //enter "fromtop" or "frombottom"
function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}
function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}
function closebar(){
if (persistclose)
document.cookie="remainclosed=1"
document.getElementById("topbar").style.visibility="hidden"
}
function staticbar(){
barheight=document.getElementById("topbar").offsetHeight
var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
var d = document;
function ml(id){
var el=d.getElementById(id);
if (!persistclose || persistclose && get_cookie("remainclosed")=="")
el.style.visibility="visible"
if(d.layers)el.style=el;
el.sP=function(x,y){this.style.left=x+"px";this.style.top=y+"px";};
el.x = startX;
if (verticalpos=="fromtop")
el.y = startY;
else{
el.y = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
el.y -= startY;
}
return el;
}
window.stayTopLeft=function(){
if (verticalpos=="fromtop"){
var pY = ns ? pageYOffset : iecompattest().scrollTop;
ftlObj.y += (pY + startY - ftlObj.y)/8;
}
else{
var pY = ns ? pageYOffset + innerHeight - barheight: iecompattest().scrollTop + iecompattest().clientHeight - barheight;
ftlObj.y += (pY - startY - ftlObj.y)/8;
}
ftlObj.sP(ftlObj.x, ftlObj.y);
setTimeout("stayTopLeft()", 10);
}
ftlObj = ml("topbar");
stayTopLeft();
}
if (window.addEventListener)
window.addEventListener("load", staticbar, false)
else if (window.attachEvent)
window.attachEvent("onload", staticbar)
else if (document.getElementById)
window.onload=staticbar
</script>
<div id="topbar"><p align="right"><a href="" onClick="closebar(); return false"><img src="http://static.sunnypages.jp/img/map/close_icon.gif" border="0" /></a>
  </p>
<img src="http://www.vbhispano.com/foros/images/icons/icon4.png" /> <b>Hola invitado! Para tener acceso completo y sin publicidades <a href="registro/"><u>registrese gratuitamente!</u></a></b><br>
Imagen publicidad
</div></vb:if>

El script no lo vamos a tocar (a menos que se quiera cambiar el nombre del div). Ahora explicando, luego de la etiqueta </script>, comienza lo que nos interesa y deseamos modificar a nuestro gusto.

1.- <div id="topbar"></div> : Esta etiqueta HTML en la que tenemos envuelto nuestro cuadro es la que nos define mediante CSS las propiedades de este, el cuadro. No es necesario cambiar nada.

2.- A continuación se encuentra el codigo de la imagen que cierra el cuadro:
PHP:
<p align="right"><a href="" onClick="closebar(); return false"><img src="http://static.sunnypages.jp/img/map/close_icon.gif" border="0" /></a>
  </p>
Solo debemos modificar la ruta de la imagen y si se desea el align="right" por align="left"

3.- El contenido del mensaje:
PHP:
<img src="http://www.vbhispano.com/foros/images/icons/icon4.png" /> <b>Hola invitado! Para tener acceso completo y sin publicidades <a href="registro/"><u>registrese gratuitamente!</u></a></b>
La primera imagen es un icono de warning que tenemos en nuestros foros, igual se pueden colocar otros, esto es a gusto. Seguido esta el texto que invita al registro y IMPORTANTE verifica que la URL del link te funcione, en el caso de no modificala.

4.- Por Kuervo: Cabe decir que para mover la posicion de la ventana ahy que modificar la siguiente parte del javascript:
HTML:
var startX = 30 //set x offset of bar in pixels
var startY = 90 //set y offset of bar in pixels

Donde var startX = 30 a mayor valor se movera hacia la derecha.
Donde var startY = 90 a mayor valor se movera hacia abajo.

5.- Y por ultimo el codigo de la publicidad y/o imagen:
PHP:
TU SCRIPT DE GOOGLE ADSENSE
En esa area deben pegar el cuadro adsense que se les proporciona al crearlo, debe ser TODO el codigo que google les entrega. Importante fijarse que no puede ser un banner muy ancho porque no entrará en el cuadro... si se desea esto deberán modificar el CSS.

* Ahora el codigo CSS del div topbar, agregarlo en la plantilla additional.css:
PHP:
#topbar {
-webkit-border-radius:4px;
-moz-border-radius:4px 4px 4px 4px;
-moz-box-shadow:1px 1px 1px #666666;
background-color:#ef8d31;
border:1px solid #4A4848;
color:white;
max-width:338px;
min-height:310px;
padding:0 5px 3px;
position:fixed;
right:5%;
top:8%;
z-index:1;
}

Ese es el codigo en bruto, si saben algo de CSS pueden modificarlo, en cuanto a color, tamaño, bordes más marcados, etc!

Si deseas aprender este simple lenguaje: Enlace eliminado
 

imported_Ryuk

Dseda
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
28 Feb 2009
Mensajes
1.138
Cabe decir que para mover la posicion de la ventana ahy que modificar la siguiente parte del javascript:
HTML:
var startX = 30 //set x offset of bar in pixels
var startY = 90 //set y offset of bar in pixels

Donde var startX = 30 a mayor valor se movera hacia la derecha.
Donde var startY = 90 a mayor valor se movera hacia abajo.

Es un punto fundamental. :)
 

bcilloniz

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
9 Oct 2008
Mensajes
232
Estimado NkC:

Logré instalar este banner flotante, pero he detectado algo distinto al que tenía en la versión 3.7 que utilizaba con anterioridad.

Este banner desaparece del sitio cuando empiezo a bajar con el roll screen de la pantalla. En la versión anterior, el banner se mantenía en su lugar, incluso si ibas para abajo en busca de información. ¿Sabes cómo podría modificar ese detalle?... Por lo demás, muchas gracias porque hace tiempo que buscaba esto para aumentar el número de registros, que disminuyó considerablemente cuando pasé a la suite.

Por otra parte, voy a tratar de hacer que se vea sólo el texto en un pequeño rectángulo que no sea tan invasivo. espero me quede bonito para compartirlo a ver si a alguien le gusta de ese modo, aunque agregarle una publicidad también suena interesante.

Saludos
 

imported_NkC

Delta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
4 Feb 2010
Mensajes
706
Sigue el tutorial paso a paso porque el código funciona bien y al hacer scroll el banner si baja.

Has colocado el código tal como esta aquí y luego modificarlo según se indica?
 

bcilloniz

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
9 Oct 2008
Mensajes
232
Hola NkC:

Te paso unas imágenes para que veas a lo que me refiero.

La imagen 1 corresponde a lo que se ve en pantalla cuando está cargando alguna página. La segunda imagen corresponde a lo que se ve cuando la página ha cargado. Y la tercera imagen corresponde al problema que te menciono, que cuando utilizo el scroll, el banner flotante empieza a desaparecer para abajo.

Yo sólo he copiado el código, lo pegué en el header y luego agregué el otro código a la plantilla additional.css. Luego he editado algunas variables para que se ubique donde quiero.

Otro problema que detecto es que no respeta las nuevas dimensiones que le he dado al banner, y que corresponden a lo que se ve en la primera imagen. A mí me gustaría un formato rectangular horizontal, pero no he logrado que se vea así cuando termina de cargar la página. Y me olvidaba de contarte que sí repeta el formato del banner cuando entro al foro a través de mozzila firefox (pero las publicidades no se veían).

Espero haber hecho todo bien...

Saludos y gracias por la ayuda.
 

bcilloniz

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
9 Oct 2008
Mensajes
232
Alguien sabe a qué se pueda deber que el banner no permanezca en su lugar cuando utilizo el scroll. Además, he notado que en Mozilla Firefox aparace el banner como en la primera imagen, pero ubicado en el lugar que quiero (esquina inferior derecha), pero aparece detrás del texto que de mi CMS (se ve mal).

En realidad, el banner ya está dando resultados automáticamente, pero me gustaría que funcione a la perfección porque se trata de algo que genera muchos nuevos registros en mi caso. Por eso me gustaría más que nada que siempre permanezac en el mismo lugar.

Espero que alguien me pueda dar una manito.

Saludos y gracias
 

imported_Ryuk

Dseda
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
28 Feb 2009
Mensajes
1.138
Una pregunta ¿Quieres que el banner te aparesca al costado derecho abajo?.

Para eso tendrias que cambiar el valor de fromtop por frombottom y darle un menor valor a var startY = 90

Todo se controla desde el javascript y las variables importantes van marcadas con instrucciones (en ingles) para que puedas acomodarlo a tus necesidades.
 

bcilloniz

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
9 Oct 2008
Mensajes
232
Una pregunta ¿Quieres que el banner te aparesca al costado derecho abajo?.

Para eso tendrias que cambiar el valor de fromtop por frombottom y darle un menor valor a var startY = 90

Todo se controla desde el javascript y las variables importantes van marcadas con instrucciones (en ingles) para que puedas acomodarlo a tus necesidades.

Hola Ryuk, recién veo tu respuesta.

Pues la verdad que ese no es tanto mi problema, ya que si entiendo que debo modificar esas variables para ubicar y darle formato a mi ventana, pero en Internet Explorer no me respesta las medidas, a comparación de Firefox. Además, el principal problema que tengo con este hack es que cuando hago scroll para abajo, el banner desaparece de su sitio; y no como el que tenía en la versión 3.7 que se volvía a ubicar en el mismo lugar de la pantalla.

Saludos y gracias por la ayuda
 

txuski

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
16 Feb 2012
Mensajes
7
Perdonar que reflote este tema, pero me gustaría saber como puedo hacer para que me salga el popup solo en una sección o subforo.

Gracias.
 
Arriba