Previsualización

Hola,

Estoy desarrollando un blog para aprender.

El caso es como previsualizar los post antes de guardarlos, es decir, estoy intentando encontrar una forma elegante de hacerlo.

En el _form.php de la vista item, como haríais para pasar la información y poder previsualizar el resultado?Obviamente el formulario va a create o upload.

No pongo código ya que solo busco ideas.

Gracias.

Hola Carlos,

Podría agregar un parámetro GET llamado "preview" que salte el guardado… podría ser algo así en la función actionCreate() del controller:




	public function actionCreate()

	{

		$model=new Tabla;


    	//$this->performAjaxValidation($model, 'tabla-form');


		if(isset($_POST['Tabla']))

		{

			$model->attributes=$_POST['Tabla'];

			if(!isset($_GET['preview']) and $model->save())

				$this->redirect(array('view','id'=>$model->id));

		}


		$this->render('create',array(

			'model'=>$model,

		));

	}



Saludos

Ya lo he resuelto después de un buen rato peleándome,

Resumiendo.

He quitado el buttonsubmit y he añadido esto.

Por lo que he visto los links que creas también pasan la variable $_POST del item(modelo), asi que:


<div class="row buttons">

               <?php if($model->isNewRecord) { ?>

               <?php echo CHtml::link(

                      'Create',

                       null,

                        array(

                        'submit' => array('Item/create'),

                        

                        )

                 );   ?>

                 <?php }  ?>

                 <?php if(!$model->isNewRecord) { ?>

                  <?php echo CHtml::link(

                      'Update', 

                       null,

                        array(

                            'submit'=>array('Item/update','id'=>$model->id_item),

                           

                        )

                 );   ?>

                 <?php } ?>

	</div>

        <div class="botton">

            <?php echo CHtml::link(

                     'Previsualizar',

                       null,

                        array(

                        'submit' => array('Item/preview'),

                        'params' => array('modelo' => $model),

                        'target'=>'_blank'

                        )

                 );   ?></div>

Controlador action create y update igual, y en la acción preview, que salta en otra página, pones tu codigo, solo que en vez $model->save() pones $model->validate() y un redirect donde toque.

Gracias de todos modos.

Es equivalente, pero por POST. El todo es que funcione. :)

Acá estaremos con gusto dispuestos a lo que se necesite ;)