Joomla.it Forum
Non solo Joomla... => Sviluppo => : Seven7 30 Jan 2011, 19:03:44
-
Ciao a tutti,sto sviluppando un mio componente dove la view mi permette di visualizzare un'elenco di atleti con nome cognome,residenza etc..
Visualizzo i dati sotto forma di tabella e all'ultima colonna ho una gif fi macchinetta fotografica che al click mi chiama una funzione javascript per aprire un'altra finestra ovvero:
<script>
function getFoto()
{
// ...
window.open(foto.php,'','width=300,height=300');
. //....
}
</script>
ho posizionato questo file nella view del mio componente in
components/com_miocomponente/views/miocomponente/tmpl/foto.php
dove è presente anche il default.php che mi fa visualizzare la lista degli atleti,ma nella seconda finestra mi da' percorso non trovato....
come posso fare per richiamare questo file?
grazie :)
-
ciao :)
prova con:
\''.$this->baseurl.'/components/tuocomp/views/tuaview/tmp/nomefile'
non l'ho testato, ma dovrebbe essere più o meno così. Forse però ti converrebbe tenere questo file fuori dalla cartella delle views, magari in una cartella 'assets'
-
window.open(foto.php,'','width=300,height=300');
Non va bene perche ti cerca il file foto.php nella root del tuo sito e non nel path del componente
ciao :)
prova con:
\''.$this->baseurl.'/components/tuocomp/views/tuaview/tmp/nomefile'
non l'ho testato, ma dovrebbe essere più o meno così. Forse però ti converrebbe tenere questo file fuori dalla cartella delle views, magari in una cartella 'assets'
$this->baseurl dovrebbe essere una variabile dell'oggetto JDocument e non sono sicuro che funzioni.
se non funziona utilizza JURI::base().'components/tuocomp/views/tuaview/tmp/nomefile'
JURI::base() finisce con uno / ricorda quindi non aggiungere lo / prima di components
Pero c'e un problema di fondo nel tuo approccio, ovvero che esci fuori da joomla cosi facendo, ovvero non hai a disposizione il framework e quindi non puoi utilizzare le sue librerie.
dovresti afre una cosa del genere invece
window.open(JURI::base.'index.php?option=com_xxx&view=mia_view&layout=foto.php','','width=300,height=300');
Cosi sei dentro joomla.
Magari non ti frega nulla di questa considerazione, mi sembrava utile puntualizzare questa cosa
Ciao
-
Pero c'e un problema di fondo nel tuo approccio, ovvero che esci fuori da joomla cosi facendo, ovvero non hai a disposizione il framework e quindi non puoi utilizzare le sue librerie.
dovresti afre una cosa del genere invece
window.open(JURI::base.'index.php?option=com_xxx&view=mia_view&layout=foto.php','','width=300,height=300');
Cosi sei dentro joomla.
si hai ragione, io vorrei rimanere all'interno del framework ma alcuni passaggi mi mancano...
quindi posiziono il mio file nella view all'interno della tmpl giusto??
grazie ancora...
-
Si chiaro
-
Pero' non mi funziona....
ho questo link che si ripete per ogni record di atleta trovato:
$path=JURI::base.'index.php?option=com_atleti&view=atleti&layout=foto.php';
<a href="javascript:getFoto('<?php echo $path ?>')"><img src="/gruppo/images/stories/flash.gif" border="0" width="25" />[/url]
sicoome sto facendo una prova il path è sempre lo stesso
e la funzione javascript:
<script>
function getFoto(foto)
{
window.open(foto,'','width=300,height=300');
}
</script>
mi sfugge qualcosa...
-
Attento
JURI::base() è una funzione quindi non va bene come l'hai mesa tu ti dovrebbe dare errore quindi prova a mettere JURI::base con aperta e chiusa parentesi