Jump to content

Immagine solo in alcune categorie


Recommended Posts

Salve a tutti.
Ho creato nel file product.tpl una regola per far vedere un'immagine solo in specifiche categorie. Dato il numero delle categorie interessate (quelle dove mostrare l'immagine) ho optato per la via di far vedere l'immagine in tutte le categorie, tranne in alcune.

{if $category->id != 78 AND $category->id != 64 AND $category->id != 29 AND $category->id != 91  AND $category->id != 92  AND $category->id != 93  AND $category->id != 94  AND $category->id != 95  AND $category->id != 102  AND $category->id != 17  AND $category->id != 71  AND $category->id != 106  AND $category->id != 107  AND $category->id != 109  AND $category->id != 72  AND $category->id != 101  AND $category->id != 96  AND $category->id != 97  AND $category->id != 75  AND $category->id != 69  AND $category->id != 100  AND $category->id != 73  AND $category->id != 70  AND $category->id != 65  AND $category->id != 80  AND $category->id != 81  AND $category->id != 82  AND $category->id != 84  AND $category->id != 83  AND $category->id != 79  AND $category->id != 110 AND $category->id != 79  AND $category->id != 111 AND $category->id != 79  AND $category->id != 112 AND $category->id != 79  AND $category->id != 113 AND $category->id != 79  AND $category->id != 66 AND $category->id != 79  AND $category->id != 85 AND $category->id != 79  AND $category->id != 86 AND $category->id != 79  AND $category->id != 87 AND $category->id != 79  AND $category->id != 90 AND $category->id != 79  AND $category->id != 67 AND $category->id != 79  AND $category->id != 68 AND $category->id != 79  AND $category->id != 74 AND $category->id != 79  AND $category->id != 104 AND $category->id != 79  AND $category->id != 108 AND $category->id != 79  AND $category->id != 15 AND $category->id != 79  AND $category->id != 340 AND $category->id != 1457 AND $category->id != 1497 AND $category->id != 1498 AND $category->id != 1499 AND $category->id != 1417 AND $category->id != 1501 AND $category->id != 1524}
          <div>IMMAGINE</div>

Cosi ha funzionato fino ad oggi.
Il problema è che quando vado ad aggiungere una categoria nella lista (dove non mostrare l'immagine) aggiungendo in coda un altro codice

AND $category->id != 1535

 

la pagina prodotti va in crash.
forse c'è un limite di chiamate che posso fare?
Come posso risolvere?

Link to comment
Share on other sites

la cosa più pulita sarebbe creare un array con dentro i vari ID da escludere in modo poi da gestire meglio il controllo

ad ogni modo verifica bene che tutta la if sia corretta e non contenga errori

se mai posta qui la if che crei completa e che ti da errore

Saluto

Link to comment
Share on other sites

  • 1 month later...
On 6/3/2019 at 9:35 AM, hardware-store said:

la sintassi che hai creato é corretta.

il problema sta nella variabile quale esaurisce tutta la memoria a disposizione.

vista la quantità di categorie potresti avere lo stesso problema con l'array.

Io invece opterei per 3 soluzioni più eleganti senza rischio di crash.

La prima di strutturare un xls con elencati gli id categoria.

a questo punto ti serve la classe php office già presente in ps, ajax e un file php che fa da interprete.

agendo sul div o creandone uno a ponte nuovo se l'id categoria e presente non viene visualizzata l'immagine.

la seconda e più elaborata,devi aggiungere un campo alla base dati nella tabella delle categorie,crearti 2 classi diverse e una che ti serve nel BO per fare una query dei campi quale con le checkbox selezioni le categorie interessate dove non vuoi visualizzare l'immagine.

nel modulo che andrai a crearti il tasto salva ti servirà per aggiornare il campo aggiuntivo con un semplice 0-1.

la seconda classe ti serve per assegnare ad una nuova variabile globale che chiamerari che ne so....$noimage....e fare una query e leggere dal campo aggiuntivo se quella categoria deve visualizzare l'immagine oppure no.

la terza più sporca ma utilizzabile e abilitare snartyBC e lavorare con i tag php dentro i file tpl.

vedi te 😊  

Sei stato veramente gentilissimo.
potresti dirmi nel dettaglio come fare?
Utilizzando il metodo più semplice da fare oppure inviandomi il link di una guida?

Questa cosa è molto importante per me perchè ho problemi di memoria.
Grazie mille

Link to comment
Share on other sites

Capisco, infatti più che altro mi serviva una guida o qualcosa di simile.

Altrove mi hanno consigliato questa strada:

 

 

{php}
$excluded_categories_ids = [5, 6, ...];
{/php}

{if (!in_array($category->id, $excluded_categories_ids))}
    <div></div>
{endif}

Cosa ne pensate?

Link to comment
Share on other sites

Ti ringrazio e, scusa se ne approfitto, vorrei che mi dessi un consiglio sulla fattibilità di questa strada:

 

{assign var='excluded_categories_ids' value=[78, 64, 29, 91, 92, 93 ...]} {if (!in_array($category->id, $excluded_categories_ids))} <div>Image</div> {endif}

{assign var='excluded_categories_ids' value=[78, 64, 29, 91, 92, 93 ...]}
{if (!in_array($category->id, $excluded_categories_ids))}
    <div>Image</div>
{endif}

Grazie

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...