Ciao a tutti.
Non sono riuscito a trovare la possibilità di inserire una immagine relativa ad un weblink... Un po' per esercizio, allora, ho pensato di modificare direttamente le pagine del componente per permettere l'inserimento di una immagine associata al weblink... di seguito la lista delle modifiche e in allegato i file... A me funziona... Se poi qualche buon'anima un po' più esperta di me volesse sistemare il componente per benino in modo che lo si possa installare con anche il nuovo campo del database....
Lista delle modifiche:
- creata cartella
weblink_images sotto la cartella
images- creato il campo imageurl (stesso formato della imageurl dei banners) nella tabella jos_weblinks del database
- Modifiche ai file della cartella administrator\com_weblinks
:
- modifiche alla pagina admin.weblinks.php
inserito codice per definire la lista immagini:
/* code added by bridges in order to manage weblink image */
// Imagelist
$javascript = 'onchange="changeDisplayImage();"';
$directory = '/images/weblinks_images';
$lists['imageurl'] = mosAdminMenus::Images( 'imageurl', $row->imageurl, $javascript, $directory );
/* end code added by bridges */
- modifiche alla pagina admin.weblinks.html.php (vedi code added by bridges)
1: aggiunta funzione javascript per visualizzare l'immagine quando viene scelta
/* code addded by bridges in order to use weblink image */
function changeDisplayImage() {
if (document.adminForm.imageurl.value !='') {
document.adminForm.imagelib.src='../images/weblinks_images/' + document.adminForm.imageurl.value;
} else {
document.adminForm.imagelib.src='images/blank.png';
}
}
/* end of code added by bridges */
2: aggiunto il campo per selezionare l'immagine e per visualizzarla...
<!-- code added by bridges (copied from banners component -->
<tr>
<td valign="top">
Scelta immagine weblink:
</td>
<td align="left">
<?php echo $lists['imageurl']; ?>
</td>
</tr>
<tr>
<td valign="top">
Immagine weblink:
</td>
<td valign="top">
<?php
if (eregi("swf", $row->imageurl)) {
?>
<img src="images/blank.png" name="imagelib">
<?php
} elseif (eregi("gif|jpg|png", $row->imageurl)) {
?>
<img src="../images/weblinks_images/<?php echo $row->imageurl; ?>" name="imagelib">
<?php
} else {
?>
<img src="images/blank.png" name="imagelib">
<?php
}
?>
</td>
</tr>
<!-- end of code added by bridges -->
- modificata pagina weblink.class.php (vedi code added by bridges)
/* code added by bridges in order to manage weblink image */
var $imageurl = null;
/* end of code added by bridges */
- Modifiche alle pagine della cartella components\com_weblinks:
- modificato il file weblinks.html.php per inserire la cella con l'immagine (si veda coded added by bridges)
- modificato il file weblinks.php: modificata la query per prelevare dal database anche il nome immagine:
/* modified by bridges; here the orginal code:
$query = "SELECT id, url, title, description, date, hits, params"
. "\n FROM #__weblinks"
. "\n WHERE catid = $catid"
. "\n AND published = 1"
//. "\n AND approved = 1"
. "\n AND archived = 0"
. "\n ORDER BY ordering"
;
*/
$query = "SELECT id, url, imageurl, title, description, date, hits, params"
. "\n FROM #__weblinks"
. "\n WHERE catid = $catid"
. "\n AND published = 1"
//. "\n AND approved = 1"
. "\n AND archived = 0"
. "\n ORDER BY ordering"
;
/* end of code modified by bridges */
---------------------------------------------------------------------------
Mi pare di averci messo tutto...
Adesso mancherebbe ancora:
- la gestione dell'invio della immagine da Frontend
- la visualizzazione del pulsante "carica" nel backend per inviare le immagini sul server quando si inserisce un nuovo weblink.
Sperando che serva a qualcuno....
Per vedere come si presenta (c'è solo una immagine...):
http://internetpassion.net/amicidellamontagna/component/option,com_weblinks/catid,14/Itemid,23/[allegato eliminato dall\'amministratore]