Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/01/2010, 21:57
maue75
 
Fecha de Ingreso: noviembre-2008
Mensajes: 288
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Zend, pasar valores a un js tratado como un php

hola Pateketrueque,

espero aclarar un poquito más ahora:

Tengo mi Zend andando bien, con su bootstrap, layouts y views.

En layouts tengo a main.phtml con acceso a las CSS y JS que voy a precisar, y todo el código para armar mi pagina html.
main.phtml :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title><?php echo $this->layout()->titulo; ?></title>

<link rel="stylesheet" type="text/css" media="all" href="estilos.css" />

Y ESTA LINEA QUE DEBIERA SER:
<script type="text/javascript" src="<?php echo $this->baseUrl.'/' ?>general.js"></script>
LA CAMBIO POR:
<script type="text/javascript" src="<?php echo $this->baseUrl.'/' ?>general.php"></script>

.....

general.php tiene un aspecto como este, y es donde quiere tomar una variable zend:
<?php
header("Content-type: text/javascript; charset: UTF-8");
?>
function validar_mail()
{
if (
( dir.indexOf("@") == -1 ) ||
( dir.indexOf(" ") > -1 ) ||
( dir.indexOf(".") == -1 ) )
{
alert( "<?php echo $this->mailError;?>" )
return false
}
return true
}
...

Luego dentro de mi IndexController tengo un Action donde utilizaré un clásico formulario de contacto.

public function contactoAction()
{

Ahi defino todas las variables que voy a precisar en la view.
Y es donde yo entiendo que debiera armar las variables que quiero que utilice el javascript del formulario de contacto. general.php

asi que he probado declarando:
$this->view->mailError="ha ingresado un mail invalido";
y luego:
$layout = Zend_Layout::getMvcInstance();
$layout->mailError = 'ha ingresado un mail invalido';
y luego:
$this->_helper->layout->assign("mailError ", "ha ingresado un mail invalido");

pero nada me ha resultado.

el objetivo es pasar distintos mensajes, no es que solo quiera que diga "ha ingresado mail invalido".

bueno, espero haber aclarado un poco más. gracias.