Archivo | javascript RSS feed for this section

Problema con JQuery y Mootools

11 Feb

Estaba teniendo algunos problemas con un componente de joomla. En un template el módulo funcionaba, pero en el mio no. Después de verlo en detalle, vi que el módulo utilizaba Mootools. Además, en mi template, otro módulo estaba utilizando JQuery. Mootools debe cargarse antes que JQuery para que no haya conflictos. Además, en la función de JQuery, hay que utilizar una función noconflict.

Lo que hice para solucionar el problema fue:

1. En la página, cargar la librería Mootools antes que la JQuery

2. Antes de utilizar my función JQuery poner:

var jq = jQuery.noConflict();

Luego, sustituir el $ en la función por jq . (En teoría, también se podría haber dejado el $ utilizando jQuery.noConflict(); , pero eso no funcionó en mi caso).

 

Idea tomada de: http://www.alltogetherasawhole.org/profiles/blogs/preventing-jquery-and-mootools

Pasar Variable desde PHP a Javascript

24 Ene

Un tema y tip interesante: cómo pasar una variable en PHP a Javascript?

En mi caso, estamos armando un sistema multi-idioma, en el que tenemos un archivo de PHP que tiene una serie de constantes que son los textos para cada idioma. Tengo un archivo por idioma.

Lo que necesitaba hacer, es que un alert en Javascript tomara como mensaje una de esas constantes en PHP.

Para esto, lo que se hace es:

1. En el HTML de la página, se crea un input hidden, con el texto o la variable PHP que queremos pasarle a Javascript:

<input type=»hidden» name=»mensajeConfirmaBorrar» id=»mensajeConfirmaBorrar» value=»<?php echo _LISTADO_DOCUMENTOS_CONFIRMA_BORRAR; ?>» />

2. Luego en el script, simplemente se llama al value del hidden:

document.getElementById(«mensajeConfirmaBorrar»).value

(Solución tomada de: http://bytes.com/topic/php/answers/827223-passing-values-php-javascript )

Marquesina con stop

3 Nov

Bueno, para un sitio de compra venta de propiedades, necesitabamos hacer un banner que fuera pasando las propiedades de abajo hacia arriba. Lo que utilizamos para eso fue una marquesina:

<marquee behavior=»scroll» direction=»up» scrolldelay=»100″ scrollamount=»2″ onMouseover=»this.scrollAmount=0″ onMouseout=»this.scrollAmount=2″ height=»300px»>

</marquee>

Lo interesante, es que además a la marquesina le agregamos código Javascript en el Mouseover y en el Mouseout, de manera de que al parar el mouse sobre la propiedad, ésta se queda quieta para que el usuario pueda leer tranquilo y si quiere visitar el link por más datos.

 

Login por fuera en Joomla!

28 Ago

Para hacer en Joomla! un login que abra una determinada página dentro de un wrapper utilizando los parámetros que se reciben desde el módulo.

El módulo lo creamos como un custom html, que va a tener un código del estilo :

<form method=»post» action=»http://uniotel/index.php?option=com_wrapper&view=wrapper&Itemid=135″> <input name=»user» type=»text» /> <br /> <input name=»pass» type=»password» /> <br /> <input value=»submit» type=»submit» /> </form>

Donde el action va a la dirección de un wrapper que creamos. El wrapper a su vez, va a mostrar un archivo php que vamos a crear, que es el que permite la autenticación contra otro servidor. Dicho archivo, va a tener algo del estilo:

<form id=»formulario» name=»formulario» method=»post» action=»http://direcciondelscriptautenticador/cgi-bin/login.pl» target=»iframe»>
<input type=»hidden» name=»user»/>
<input type=»hidden» name=»pass»/>
<input type=»image» src=»http://www.deuruguay.net/uniotel/spacer.gif» width=»0px» height=»0px» value=»»/>
</form>
<script>
var usuario = window.parent.document.getElementById(‘usuario’).value;
var password = window.parent.document.getElementById(‘clave’).value;
document.formulario.user.value = usuario;
document.formulario.pass.value = password;
</script>
<script>
document.formulario.submit();
</script>

La parte interesante, es la que toma con javascript los datos del parent.

Un detalle muy importante, es que en el idex.php del template que se esté manejando,

if ($_REQUEST[«user»] != NULL && $_REQUEST[«pass»] != NULL) {
$usuario = $_REQUEST[«user»];
$clave = $_REQUEST[«pass»];
}

(Al principio para tomar los datos que se mandan desde el formularito)

Luego, también setear en el html del index.php

<input type=»hidden» value=»<?php echo $usuario; ?>» name=»usuario» id=»usuario»/>
<input type=»hidden» value=»<?php echo $clave; ?>» name=»clave» id=»clave»/>

(Para poder tomarlo con javascript en nuestro archivito)

A %d blogueros les gusta esto: