Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: aiuto con IF

  1. #1

    aiuto con IF

    ciao a tutti. ho provato a cercare in giro ma non ho trovato nulla (o meglio non riesco a capire).
    Ho una porzione di codice che utilizzo in un file *.PHTML e vorrei funzionasse con il ciclo IF.
    mi spiego meglio:

    Codice PHP:
    <a href="<?php echo $this->htmlEscape($_product->getPdf_Datasheet())?>" target="_blank" />

    <?php echo("<img src=\"http://www.ledlux.it/media/wysiwyg/porto/ledlux_img/PDF_datasheet.gif\">")?> </a>
    Ho creato un attributo in Magento (campo di testo) denominato Pdf_Datasheet.
    Quando questo attributo ha un valore (che sarebbe un link a file pdf) deve essere scritto sulla pagina del prodotto, altrimenti Niente. Non deve scrivere nulla.

    attualmente il codice funziona bene ma l'icona viene pubblicata su ogni articolo, anche se non c'è alcun valore sull'attributo.

    purtroppo non riesco ad uscirne. sicuramente è una cosa banale per molti di voi.
    confido nel vostro aiuto. grazie mille

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    if esegue al più una volta il codice della condizione che si verifica, quindi non è un ciclo, è un'istruzione condizionale.

    Per sapere come impostare la condizione devi sapere cosa c'è dentro a $_product->getPdf_Datasheet() nel caso non ci sia un valore: null, stringa vuota, 0, altro valore che indica l'asssenza dell'attributo, ecc...
    poi puoi scrivere la condizione, ad esempio se in caso l'attributo non abbia valore tale funzione restituisse la stringa vuota:

    Codice PHP:
    if ( $_product->getPdf_Datasheet() != "" )
    {
        
    // il codice per stampare l'icona


  3. #3
    nulla... sono zero proprio.

    Codice PHP:
    <?php if ( $_product->getPdf_Datasheet() != "" ): ?>

    <a href="<?php echo $this->htmlEscape($_product->getPdf_Datasheet())?>" target="_blank" />
    <?php echo("<img src=\"http://www.ledlux.it/media/wysiwyg/porto/ledlux_img/PDF_datasheet.gif\">")?> </a>

    <?php endif; ?>
    provato così ma non va ovviamente.
    all'interno dell'attributo Pdf_Datasheet ci saranno solo dei LINK a file pdf, ma non su tutti i prodotti.
    quindi ove non è presente il LINK, non deve stampare nulla...
    scusa e grazie mille

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Capito, ma che restituisce $_product->getPdf_Datasheet() quando il link non c'é?
    Nell'if devi metterci ciò che restituisce in tal caso, il mio della stringa vuota era un esempio, non lo so che c'è lì dentro quando il link non è presente.
    Fa un echo di $_product->getPdf_Datasheet() e vedi cosa stampa in corrispondenza dei prodotti senza link.

  5. #5
    mando una immagine per spiegarmi meglio:

    esempio.jpg

    il campo di testo dell'attributo, si trova nel pannello di controllo.
    su ogni prodotto ho a disposizione questo spazio. se voglio metto un link a file pdf, altrimenti no.

    :-( grazie mille davvero

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Si, ma la funzione getPdf_Datasheet() che fa? Se esiste prende dal database il link al fie pdf, giusto? Ok, se non lo trova dovrà comunque restituire qualcosa, che cosa?
    Senza sapere questo non si può impostare correttamente la condizione dell'if.
    Non è una cosa che si può vedere da un'immagine, o leggi il codice della funzione per vedere cosa fa quando il link non c'è, oppure metti un echo o var_dump() ovunque ci sia $_product->getPdf_Datasheet() nel tuo codice che stampa i prodotti, in tal modo si riesce a sapere cosa bisogna mettere come condizione.

  7. #7
    se esiste prende il LINK, giustissimo... e questo attualmente funziona.

    ma se non trova nulla, non può semplicemente ignorare tutto e non pubblicare l'icona?
    restituire testo vuoto o ignorare il codice... tecnicamente non so come dire e ti chiedo scusa per la mia incompetenza.

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Certo che può farlo, ma bisogna dirgli come, non è una persona che gli dici a parole "Se non trovi niente non mettere l'icona", glielo devi dire col codice corretto e per farlo devi sapere cosa restituisce quella funzione in caso non dovesse trovare il link.

    Quote Originariamente inviata da ignition3d Visualizza il messaggio
    ...
    ma se non trova nulla, non può semplicemente ignorare tutto e non pubblicare l'icona?...
    Questo è il problema di chi vuole programmare senza studiare ed improvvisandosi copiando codice qua e là, pensa che dato che una cosa si fa col PC automaticamente è "semplice", non tutto ciò che si fa coi PC è semplice, anzi, molte cose sono decisamente complicate, come proprio la programmazione.
    Ultima modifica di Alhazred; 18-11-2015 a 18:50

  9. #9
    hai ragione... e ne sono consapevole.
    proverò a scrivere anche sul forum Magento... magari qualcuno ha gia affrontato il problema.

    grazie lo stesso.

  10. #10
    questo codice fa quello che sto cercando di fare, ma stampa il contenuto dell'attributo come semplice testo e non come icona cliccabile:

    Codice PHP:
    <?php echo $attribute_value $_product->getPdf_datasheet();;
    if (
    $attribute)
    {
    echo 
    $attribute_value $_product->getPdf_datasheet();
    }
    ?>
    scusa se insisto :-(
    grazie mille

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.