Mostrare Un'immagine Tramite Il Widget Cdetailview

Ciao a tutti,

ho modificato Model e Controller per far si che ora sia possibile caricare un’immagine nell’inserimento di un nuovo elemento nel DB.

Ora, tramite _viev.php devo poter mostrare quest’immagine caricata e vorrei farlo tramite CDetailView, ovvero:

dove all’interno del quale, voglio poter “pescare” la mia immagine.

N.B. nel DB ho slavato il nome del file, non il percorso. Per avere il percorso intero userò:

Come posso fare?

Grazie!

se hai solo il nome dovresti comporre la riga con type specificato: raw o html




'id',

'titolo',

'testo',

'data',

array('label' => 'Immagine', 'value' =>'<img src='.$model->image.'>', 'type' => 'raw'),



lup0z,

i used this for retrive url


$path = Yii::app()->request->baseUrl.'/images/'.$model->image;

and this in CDetailView

and i see the image correctly.

My dubt now is where save file… image folder like this example or Database???

Vi ringrazio per le risposte.

Ho usato questo:




<?php $this->widget('zii.widgets.CDetailView', array(

	'data'=>$model,

	'attributes'=>array(

		'id',

		'titolo',

		'testo',

		'data',

		array('label' => 'Immagine', 'value' => '<img src='.Yii::getPathOfAlias('webroot').'/images/articoli/'.$model->image.' />', 'type' => 'raw'),

	),

)); ?>



Con Firebug ho controllato che venga stampato il tag HTML giusto che infatti è:




<td>

<img src="C:/xampp/htdocs/fabriziocastania/images/articoli/disegno-412x300.jpg">

</td>



ma l’immagine non viene caricata. Infatti firebug mi fa apparire la riga semi-trasparente con la dicitura "Impossibile caricare l’URL.

Nel DB viene caricato il nome dell’immagine che risiede fisicamente in /images/articoli/

io uso lo stesso metodo, caricando nel DB il nome dell’immagine, poi la richiamo così:


array('name'=>'image','type'=>'image','value'=>'images/anagrafica/'.$model->image)

Buon lavoro!

Funziona!

Peccato perché avrei voluto rendere più “standard” l’URL usando Yii:getPathOfAlias ma in ogni caso ora funziona!

Grazie!

Non puoi usare




Yii::getPathOfAlias('webroot').'/images/articoli/'.$model->image;



ma invece:




Yii::app()->baseUrl.'/images/articoli/'.$model->image;



come hai postato tu l’indirizzo che ti restituiva era del tipo c:\… e non poteva funzionare.