con un nome così chi vuoi che ti risponda???
l'url dell'immagine è memorizzato nella varabile stringa $product_thumb_image: se si controlla questa variabile prima della sua pubblicazione è possibile verificare se il link stesso è corretto o meno.
per non modificare il core di vm ho agito su una pagina di visualizzazione categoria personalizzata (che ho rinominato browse_vtt.php e che ho assegnato a tutte le categorie) così che non possa essere sovrascritta da eventuali aggiornamenti.
1. apro la pagina di visualizzazione categoria situata in \components\com_virtuemart\themes\default\templates\browse
2. cerco la riga di codice che si occupa della stampa dell'immagine (la sua posizione varia a seconda della browse page utilizzata):
<?php echo ps_product::image_tag( $product_thumb_image, 'class="browseProductImage" border="0" title="'.$product_s_desc.'" alt="'.$product_s_desc .'"' )?>
3. scrivo lo script di verifica prima di questa riga, io l'ho fatto ad inizio pagina subito dopo la chiusura del primo tag php e subito prima dei tag html:
<?php //verifico l'esistenza del link web
$handle = @fopen("$product_thumb_image", "r");
if(strpos($handle, "Resource id") !== 0) {
// l'immagine non esiste e la cambio con la noimage predefinita
$product_thumb_image=VM_THEMEURL.'images/'.NO_IMAGE;
}
?>
in pratica la routine verifica l'esistenza del file immagine remoto (
http://sitofornitore/codiceprodotto.jpg), cioè ubicato su altro server.
se il file non esiste alla variabile $product_thumb_image viene attribuito il percorso del file noimage predefinito (o qualuque altro si desideri anche nella forma $product_thumb_image="
http://sitochetipare/noimage.jpg")
4. ma non è finita!!!
Manca la sistemazione dell'immagine grande: variabile $product_full_image
Manca la sistemazione della flypage (visualizzazione di dettaglio del prodotto) contenuta in \components\com_virtuemart\themes\default\templates\product_details
Spero che questo chi fa da sé fa per tre sia servito o servirà a qualcuno.
vtt