lup0z
(Lavaro)
1
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!
st4nny
(St4nny)
2
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???
lup0z
(Lavaro)
4
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/
emafer
(Emanuele Ferrarini)
5
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!
lup0z
(Lavaro)
6
Funziona!
Peccato perché avrei voluto rendere più “standard” l’URL usando Yii:getPathOfAlias ma in ogni caso ora funziona!
Grazie!
st4nny
(St4nny)
7
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.