Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    93

    Problema con img non esistenti

    Ciao a tutti ho il seguente problema:
    Ho un sito di ecommerce scritto in php, adesso succede che alcune img di alcuni prodotti non mi vengono forniti ma nel file di upgrade esiste comunque il link all'img che non esiste e quindi sulla pagina del prodotto mi compare il classico quadratino che l'img non esiste.

    Adesso io volevo utilizzare il parametro onerror per far vedere una img di default quando la stessa non esiste.
    Facendo il tutto in html non cè nessun problema ecco il link: www.longiweb.it\esempio.html

    Il problema arriva quando opero in php.
    l'istruzione che fa visualizzare l'img del prodotto è:

    <script language="javascript" type="text/javascript"><!--
    document.write('<?php echo '<a href="' . zen_lightbox($products_image_large, addslashes($products_name), LARGE_IMAGE_WIDTH, LARGE_IMAGE_HEIGHT) . '" rel="' . $rel . '" title="' . addslashes($products_name) . '">' . zen_image($products_image_medium , addslashes($products_name), MEDIUM_IMAGE_WIDTH, MEDIUM_IMAGE_HEIGHT) . '
    <span class="imgLink">' . TEXT_CLICK_TO_ENLARGE . '</span></a>'; ?>');
    //--></script>

    la funzione zen_image è quella che fa visualizzare l'img dell'articolo e la variabile contiene percorso e nome dell'img da visualizzare allora io mi son detto basta mettere prima di questa istruzione il seguente script:

    $products_image_medium2 ="onerror=\"this.src='c:/vuoto.jpg'\" ";
    $products_image_medium =$products_image_medium . " ". $products_image_medium2;

    ma non va purtroppo.

    qualcuno potrebbe darmi qualche dritta a tal proposito.

    Grazie

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133

    Re: Problema con img non esistenti

    Originariamente inviato da arino
    Ciao a tutti ho il seguente problema:
    Ho un sito di ecommerce scritto in php, adesso succede che alcune img di alcuni prodotti non mi vengono forniti ma nel file di upgrade esiste comunque il link all'img che non esiste e quindi sulla pagina del prodotto mi compare il classico quadratino che l'img non esiste.
    Ma se tu quando fai update invece di lasciare il campo immagine vuoto null gli inserisci vuoto.jpg cioè l'immagine sostitutiva non hai risolto
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    93
    Si certo hai perfettamente ragione, ma il file di upgrade dei prodotti non lo faccio io mi viene fornito da terzi e il nome dell'img è codicearticolo.jpg e così anche se la foto non esiste.
    Poi ovviamente gli articoli sono 20000 se devo ricercarli io ci metto tempo.
    Ecco se risolvo in modo automatico come dicevo nel primo post sarei a posto.

    Ciao

  4. #4
    l'intestazione del metodo zen_image dovrebbe essere:

    codice:
    zen_image($src, $alt = '', $width = '', $height = '', $parameters = '')
    quindi al posto di $parameters potresti mettere la tua '"onerror" = ...' o qualcosa di simile, forse funziona

    di zen_lightbox non trovo documentazione api quindi non so se potrebbe avere le stesse funzionalità, prova a vedere il file sorgente dov'è definita la funzione
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    93
    Ciao e grazie per la risposta, secondo me il problema sta sul fatto che non so come gestire ' doppi apici (") e i singoli apici (').

    L'istruzione che chiama l'img del prodotto è la seguente:
    zen_image($products_image_medium , addslashes($products_name), MEDIUM_IMAGE_WIDTH, MEDIUM_IMAGE_HEIGHT)

    se io mi costruisco opportunamente la variabile $products_image_medium prima della chiamata della funzione dovrebbe funzionare ho provato a mettere prima della chiamata le istruzioni:

    $products_image_medium2 ="onerror=\"this.src='c:/vuoto.jpg'\" ";
    $products_image_medium =$products_image_medium . " ". $products_image_medium2;

    ma non funge e credo proprio che il problema sia in:

    $products_image_medium2 ="onerror=\"this.src='c:/vuoto.jpg'\" ";

    non so come gestire sti doppi e singoli apici.

    Ciao

  6. #6
    Originariamente inviato da arino
    Ciao e grazie per la risposta, secondo me il problema sta sul fatto che non so come gestire ' doppi apici (") e i singoli apici (').

    L'istruzione che chiama l'img del prodotto è la seguente:
    zen_image($products_image_medium , addslashes($products_name), MEDIUM_IMAGE_WIDTH, MEDIUM_IMAGE_HEIGHT)

    se io mi costruisco opportunamente la variabile $products_image_medium prima della chiamata della funzione dovrebbe funzionare ho provato a mettere prima della chiamata le istruzioni:

    $products_image_medium2 ="onerror=\"this.src='c:/vuoto.jpg'\" ";
    $products_image_medium =$products_image_medium . " ". $products_image_medium2;

    ma non funge e credo proprio che il problema sia in:

    $products_image_medium2 ="onerror=\"this.src='c:/vuoto.jpg'\" ";

    non so come gestire sti doppi e singoli apici.

    Ciao

    rischioso come suggerisci te, prova:

    Codice PHP:

    $products_image_medium2 
    ='" onerror="this.src=SLASH'c:/vuoto.jpgSLASH'';
    $products_image_medium =$products_image_medium.$products_image_medium2
    al posto di SLASH metti \
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    93
    niente non va......

    Ma tralasciando il risultato che ottengo, seguendo un senso logico la cosa che ho detto è fattibile giusto?
    Quindi è solamente un errore di sintassi?

    Ciao

  8. #8
    Originariamente inviato da arino
    niente non va......

    Ma tralasciando il risultato che ottengo, seguendo un senso logico la cosa che ho detto è fattibile giusto?
    Quindi è solamente un errore di sintassi?

    Ciao
    no concettualmente è una str***ata, dovresti aprire i sorgenti di quello zend_lightbox e vedere se supporta il parametro in piu come zend_image
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    93
    Ecco ho trovato la funzione:

    codice:
    <?php 
    function zen_lightbox($src, $alt = '', $width = '', $height = '', $parameters = '') 
    { 
    global $template_dir; //auto replace with defined missing image 
    if ($src == DIR_WS_IMAGES and PRODUCTS_IMAGE_NO_IMAGE_STATUS == '1') 
    { 
    $src = DIR_WS_IMAGES . PRODUCTS_IMAGE_NO_IMAGE; 
    } 
    if ((empty($src) || ($src == DIR_WS_IMAGES)) && (IMAGE_REQUIRED == 'false')) 
    { 
    return false; 
    } // if not in current template switch to template_default 
    if (!file_exists($src)) 
    { 
    $src = str_replace(DIR_WS_TEMPLATES . $template_dir, DIR_WS_TEMPLATES . 'template_default', $src); 
    } // hook for handle_image() function such as Image Handler etc 
    if (function_exists('handle_image')) 
    { 
    $newimg = handle_image($src, $alt, $width, $height, $parameters); 
    list($src, $alt, $width, $height, $parameters) = $newimg; 
    } 
    $image = zen_output_string($src); return $image; } 
    ?>
    ha i soliti 5 parametri come la funzione zen_image

    Mi chiedevo se esiste un modo in php per verificare che una img esista in remoto tipo che restituisca true se esiste e false se non esiste, in tal caso potrei modificare il codice e risolvere il mio problema.

    Ciao

  10. #10
    si esiste http://php.net/manual/en/function.file-exists.php

    ma prova a mettere l'onerror come 5° parametro
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.