Jump to content

Inserimento voce Peso nella pagina prodotto


m.vicovanu

Recommended Posts

Ciao,
se per i tuoi prodotti utilizzi la funzionalità Caratteristiche (da pannello di amministrazione: Catalogo Caratteristiche) con una Caratteristica denominata Peso,
e quindi per i tuoi prodotti il tab Funzioni, potresti provare questo codice da inserire direttamente nel file /themes/tema-che-utilizzi/product.tpl
appena dopo il prezzo. Non elegantissimo ma funzionante:

<!-- end prices -->

{foreach from=$features item=feature}
    {if $feature.name|escape:'htmlall':'UTF-8' == 'Peso'}
        {$feature.name|escape:'html':'UTF-8'} {$feature.value|escape:'html':'UTF-8'}
    {/if}
{/foreach}

peso.png

 

Ovviamente se utilizzi un nome diverso per la caratteristica, è sufficiente modificare il richiamo nel codice.

  • Like 1
Link to comment
Share on other sites

Wow grazie per la risposta. La mia situazione è più complicata in quanto la voce Prezzo adesso è diventata PESO in quanto non avevo intenzione di vendere online. Adesso che ho cambiato idea vorrei tornare ad avere la voce Prezzo poi sotto, la voce prezzo ma che deve cambiare in base alle quantità come succede in questo momento. Puoi vedere per esempio qui http://www.interfer.it/hea/15-hea-100.html 

Ho quindi necessità che il peso una volta inserito anche nelle combinazioni, venga cambiato subito al momento della selezione delle quantità. Io ho utilizzato il modulo Prices depend on quantity & Buttons + - di Prestashop Addson .

Link to comment
Share on other sites

Si potrebbe provare in questo modo.
Nel forum c'è stata una discussione simile che per comodità riporto in italiano.
 

Alla soluzione proposta ho aggiunto una piccola modifica per visualizzare il peso che cambi al volo al variare della combinazione e della quantità.

  1. Aprire il file product.tpl (/themes/tema-che-utilizzi/) con un Text Editor
     
  2. In base al tuo tema (e alla visualizzazione finale che se ne otterrà) incollare dopo
    <!-- end prices -->
    
    oppure

    prima di
    </div> <!-- end content_prices -->
    
    il seguente codice:
    <span id="product_weight" data-weight="{$product->weight|escape:'htmlall':'UTF-8'|number_format:0}">{$product->weight|escape:'htmlall':'UTF-8'|number_format:0} </span><span>{Configuration::get('PS_WEIGHT_UNIT')}</span>
    
  3. Salvare il file e sovrascriverlo via FTP
     

  4. Aprire il file product.js (/themes/tema-che-utilizzi/js/) con un Text Editor
     

  5. Modificare il codice:

    // If we have combinations, update price section: amounts, currency, discount amounts,...
    	if (productHasAttributes)
    		updatePrice();
    }
    

    in
     

    // If we have combinations, update price section: amounts, currency, discount amounts,...
    	if (productHasAttributes)
    		updatePrice();
    	updateWeight();
    }
    
    
  6. Incollare prima di:
     

    //update display of the availability of the product AND the prices of the product
    

    il seguente codice:
     

    function updateWeight()
    {
        // Get combination weight
        var combID = $('#idCombination').val();
        var productWeight = $('#product_weight').data("weight")*($('#quantity_wanted').val());
        var combination = combinationsFromController[combID];
        if (typeof combination == 'undefined')
            return;
        newProductweight = productWeight+combination['weight']*($('#quantity_wanted').val());
        $('#product_weight').text(newProductweight);
    }
    
  7. Salvare il file e sovrascriverlo via FTP

Provato su un Prestashop 1.6.1.6 con l'utilizzo di combinazioni ed impatto sul peso e senza moduli aggiuntivi per quantità/prezzo.
 

  • Like 1
Link to comment
Share on other sites

Ho inserito i codici come hai indicato tu però non viene visualizzato il peso che ho inserito nelle Funzioni. Può darsi che sia per colpa del modulo installato? Inoltre vorrei che venisse scritto anche la voce Peso prima del valore.

Allego scrreenshot.

 

PS. La voce Peso che c'è attualmente diventerà prezzo se riesco a risolvere questo problemino.

Link to comment
Share on other sites

Adesso non è più in manutenzione. Vedo che viene visualizzato il peso. Avrei bisogno che ci sia anche la voce Peso prima del valore visualizzato. Inoltre ho vari tipi di pesi Kg/m, Kg./mq.,Kg./m²  e quindi deve essere visualizzato Peso Kg/m,Peso Kg./mq., Peso Kg./m², Peso Kg/m. che devono comparire in base a dove vado ad inserire il peso.

Ci stiamo complicando troppo?

Link to comment
Share on other sites

Dovresti imporre il peso anche per la combinazione base (nella pagina che hai linkato il peso è infatti 0)

 

Per le unità di misure locali, sono definite nella sezione Localizzazioni.
Non credo esista un modo nativo (automatico) per poter richiamare le diverse unità di misura. Potrei sbagliarmi e/o potrebbero esistere soluzioni/moduli alternativi.

 

Qualora i prodotti di una stessa categoria avessero il peso espresso con le stesse unità di misura, si potrebbe pensare di adottare una soluzione di tipo manuale per cui il precedente codice:

<span id="product_weight" data-weight="{$product->weight|escape:'htmlall':'UTF-8'|number_format:0}">{$product->weight|escape:'htmlall':'UTF-8'|number_format:0} </span><span>{Configuration::get('PS_WEIGHT_UNIT')}</span>

potrebbe essere modificato in (esempio per prodotto in categoria Laminati Tondi che ha ID 6):

<span id="product_weight" data-weight="{$product->weight|escape:'htmlall':'UTF-8'|number_format:0}">{$product->weight|escape:'htmlall':'UTF-8'|number_format:0} </span>
<span>
{if in_array(6,Product::getProductCategories($product->id|intval))}
Kg/m
{elseif in_array(8,Product::getProductCategories($product->id|intval))}
Kg/mq
{/if}
</span>

Ora puoi modificare le varie condizioni {if} in base alle tue categorie e relativi prodotti e unità di misure associate.
 

Link to comment
Share on other sites

Dovrebbe funzionare. Per adesso mi fermo un pò con questo. Preferisco fare una prova su una copia del sito e non su quello oramai quasi pubblico. Se dovessi combinare qualcosa, non metta a rischio tutto il lavoro fatto fino adesso.

Ti terrò aggiornato non appena avrò fatto le modifiche e ti ringrazio per tutto il tempo dedicato. Grazie di cuore.

Link to comment
Share on other sites

Dovresti imporre il peso anche per la combinazione base (nella pagina che hai linkato il peso è infatti 0)

 

Per le unità di misure locali, sono definite nella sezione Localizzazioni.

Non credo esista un modo nativo (automatico) per poter richiamare le diverse unità di misura. Potrei sbagliarmi e/o potrebbero esistere soluzioni/moduli alternativi.

 

Qualora i prodotti di una stessa categoria avessero il peso espresso con le stesse unità di misura, si potrebbe pensare di adottare una soluzione di tipo manuale per cui il precedente codice:

<span id="product_weight" data-weight="{$product->weight|escape:'htmlall':'UTF-8'|number_format:0}">{$product->weight|escape:'htmlall':'UTF-8'|number_format:0} </span><span>{Configuration::get('PS_WEIGHT_UNIT')}</span>

potrebbe essere modificato in (esempio per prodotto in categoria Laminati Tondi che ha ID 6):

<span id="product_weight" data-weight="{$product->weight|escape:'htmlall':'UTF-8'|number_format:0}">{$product->weight|escape:'htmlall':'UTF-8'|number_format:0} </span>
<span>
{if in_array(6,Product::getProductCategories($product->id|intval))}
Kg/m
{elseif in_array(8,Product::getProductCategories($product->id|intval))}
Kg/mq
{/if}
</span>

Ora puoi modificare le varie condizioni {if} in base alle tue categorie e relativi prodotti e unità di misure associate.

 

Se non chiedo troppo, come devo modificare le varie condizioni {if} in base alle tue categorie e relativi prodotti e unità di misure associate?

Devo pratticamente inserire il codice per ogni prodotto in parte? cioè , se ho 1500 prodotti, devo inderire 1500 codici ? Per avere anche la scritta Peso prima delle cifre del peso, devo aggiungere altro ?

Link to comment
Share on other sites

In via teorica ho immaginato che i prodotto di una stessa categoria possano utilizzare la stessa unità di misura (cit.: Qualora i prodotti di una stessa categoria avessero il peso espresso con le stesse unità di misura[...].

 

Se ciò fosse vero, allora potresti effettuare un controllo solo sull'ID delle categorie (NON dei prodotti)
Se rileggi la precedente risposta vedrai che nel codice è presente il valore 6 che, per il tuo eshop, fa riferimento all'ID della catefgoria Laminati Tondi a cui appartiene
il prodotto che hai linkato.

Link to comment
Share on other sites

Prima del codice:
 

<span id="product_weight" data-weight="{$product->weight|escape:'htmlall':'UTF-8'|number_format:0}">{$product->weight|escape:'htmlall':'UTF-8'|number_format:0} </span>

puoi inserire (nel caso di sito multilingua):
 

<span>{l s='Weight: '}</span>

oppure

<span>Peso: </span>

Il test è stato fatto su un'installazione locale proprio come indicato nelle precedenti risposte #4 e #9
 

Link to comment
Share on other sites

Ciao, scusami se disturbo ancora, ma da quando abbiamo fatto le prove insieme per la voce del PESO, ho notato che qualcosa è cambiato nella pagina prodotto. Non cambia più il prezzo ( nel mio caso PESO )  e neanche i tipi di taglio, cosa che prima succedeva. Hai qualche idea?

Link to comment
Share on other sites

Purtroppo si. Ho contattato pure lo svillupatore che mi risponde:

Your theme does not respect prestashop standards.
Go on modules/quantityupdate/quantityupdate.php
edit the file and find qty-increase and qty-decrease.
Change for product_quantity_down and product_quantity_up

 

Ho effettuato le modifiche come puoi vedere in allegato, ma non funziona più lo stesso.

Link to comment
Share on other sites

La console del browser restituisce un errore javascript nel file /themes/theme1209/js/product.js
per la presenza di questo codice:

<span id="product_weight"
data-weight="{$product->weight|escape:'htmlall':'UTF-8'|number_format:0}">{$product->weight|escape:'htmlall':'UTF-8'|number_format:0} </span><span>{Configuration::get('PS_WEIGHT_UNIT')}</span>
Link to comment
Share on other sites

Esatto, probabilmente è colpa delle modifiche fatto ieri in quanto ho ricevuto questo messaggio dallo svilupatore del modulo:

Your theme does not respect prestashop standards.
Go on modules/quantityupdate/quantityupdate.php
edit the file and find qty-increase and qty-decrease.
Change for product_quantity_down and product_quantity_up

Quindi penso di aver fatto le modifiche in maniera errata, in realtà non so più cosa faccio pur di farlo funzionare. Allego il file modificato ieri.quantityupdate.php

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...