Oggi è gio mar 28, 2024 3:23 pm

Benvenuto!

Lo stato dell'Arte come software Open Source gratuito E-commerce.
 

Zen Cart Italia

Spedizioni e Pagamenti

Contrassegno gratuito più conveniente del Paypal

Richieste, idee e suggerimenti per il miglior settaggio o modifiche dei moduli previsti.

Moderatori: Sandro Carniel aka webmaster, Paolo De Dionigi aka Spike00

Re: Contrassegno gratuito più conveniente del Paypal

Messaggioda Paolo De Dionigi aka Spike00 » lun apr 29, 2013 5:20 pm

Il pezzo da modifica è qui:

Codice: Seleziona tutto
          $cod_tax_address = zen_get_tax_locations();
          $tax = zen_get_tax_rate(MODULE_ORDER_TOTAL_COD_TAX_CLASS, $cod_tax_address['country_id'], $cod_tax_address['zone_id']);
          $order->info['total'] += $cod_cost;
          if ($tax > 0) {
            $tax_description = zen_get_tax_description(MODULE_ORDER_TOTAL_COD_TAX_CLASS, $cod_tax_address['country_id'], $cod_tax_address['zone_id']);
            $order->info['tax'] += zen_calculate_tax($cod_cost, $tax);
            $order->info['tax_groups'][$tax_description] += zen_calculate_tax($cod_cost, $tax);
            $order->info['total'] += zen_calculate_tax($cod_cost, $tax);
            if (DISPLAY_PRICE_WITH_TAX == 'true') {
              $cod_cost += zen_calculate_tax($cod_cost, $tax);
            }
          }

          $this->output[] = array('title' => $this->title . ':',
                                  'text' => $currencies->format($cod_cost, true,  $order->info['currency'], $order->info['currency_value']),
                                  'value' => $cod_cost);


Peraltro si riesce a modificare facilmente anche la frase.

Se si vuole solo mettere a zero l'importo, dovrebbe essere sufficiente mettere subito prima del codice che ti ho copiato qui, questo blocco:

Codice: Seleziona tutto
if ($_SESSION['cart']->show_total() > 90) {
  $cod_cost = 0;
}


Se oltre a ciò si vuole cambiare la frase, questa è gestita dall'ultimo pezzo del codice che ho riportato sopra, ovvero questo blocchetto che riporto nuovamente:

Codice: Seleziona tutto
          $this->output[] = array('title' => $this->title . ':',
                                  'text' => $currencies->format($cod_cost, true,  $order->info['currency'], $order->info['currency_value']),
                                  'value' => $cod_cost);


Qui si potrebbe trasformare così:

Codice: Seleziona tutto
          $this->output[] = array('title' => ($_SESSION['cart']->show_total() > 90) ? $this->title : $this->title_free . ':',
                                  'text' => $currencies->format($cod_cost, true,  $order->info['currency'], $order->info['currency_value']),
                                  'value' => $cod_cost);


Oltre a quanto sopra, bisogna aggiungere una nuova riga all'inizio del file, dopo

Codice: Seleziona tutto
      $this->title = MODULE_ORDER_TOTAL_COD_TITLE;


ottenendo quindi

Codice: Seleziona tutto
      $this->title = MODULE_ORDER_TOTAL_COD_TITLE;
      $this->title_free = MODULE_ORDER_TOTAL_COD_TITLE_FREE;


e ovviamente si dovrà aggiungere una nuova define

Così si può ottenere anche la frase contrassegno gratuito (ma rimance anche l'importo a zero.

Come vedi è più complesso e per avere solo la frase si complica ancora ulteriormente.


Come nel primo caso, non ho testato nulla.
1)Studiare questo documento prima di fare una domanda: http://url.zen-cart.it/faq
2)CERCA CERCA CERCA CERCA CERCA!
Paolo De Dionigi aka Spike00
Site Admin
 
Messaggi: 1663
Iscritto il: mar feb 08, 2005 10:41 am
Località: Busto Arsizio (VA)

Re: Contrassegno gratuito più conveniente del Paypal

Messaggioda tartarone1 » lun apr 29, 2013 7:07 pm

Ti ringrazio per la pazienza e per la fiducia nelle mie capacità, ma non essendo assolutamente competente nella programmazione ho fatto delle prove ma non ho capito. Provo a riassumerti cosa ho fatto:

Dopo $this->title = MODULE_ORDER_TOTAL_COD_TITLE;
Ho inserito $this->title = MODULE_ORDER_TOTAL_COD_TITLE;
$this->title_free = MODULE_ORDER_TOTAL_COD_TITLE_FREE;


poi ho inserito questa parte con la modifica sempre nello stesso fail
Codice: Seleziona tutto
  if ($_SESSION['cart']->show_total() > 90) {
  $cod_cost = 0;
}

          $cod_tax_address = zen_get_tax_locations();
          $tax = zen_get_tax_rate(MODULE_ORDER_TOTAL_COD_TAX_CLASS, $cod_tax_address['country_id'], $cod_tax_address['zone_id']);
          $order->info['total'] += $cod_cost;
          if ($tax > 0) {
            $tax_description = zen_get_tax_description(MODULE_ORDER_TOTAL_COD_TAX_CLASS, $cod_tax_address['country_id'], $cod_tax_address['zone_id']);
            $order->info['tax'] += zen_calculate_tax($cod_cost, $tax);
            $order->info['tax_groups'][$tax_description] += zen_calculate_tax($cod_cost, $tax);
            $order->info['total'] += zen_calculate_tax($cod_cost, $tax);
            if (DISPLAY_PRICE_WITH_TAX == 'true') {
              $cod_cost += zen_calculate_tax($cod_cost, $tax);
            }
          }

                   $this->output[] = array('title' => ($_SESSION['cart']->show_total() > 90) ? $this->title : $this->title_free . ':',
                                  'text' => $currencies->format($cod_cost, true,  $order->info['currency'], $order->info['currency_value']),
                                  'value' => $cod_cost);


Poi mi sono perso e il sito è diventato tutto bianco e non funziona più, cosa manca e cosa e cosa ho sbagliato?
Questa parte di codice che mi hai suggerito all'inizio devo lasciarla???
Codice: Seleziona tutto
if ($_SESSION['cart']->show_total() > 90) {
  $this->enabled = false;
}


Grazie
tartarone1
 
Messaggi: 92
Iscritto il: gio ott 29, 2009 2:38 pm

Re: Contrassegno gratuito più conveniente del Paypal

Messaggioda Paolo De Dionigi aka Spike00 » mar apr 30, 2013 8:45 am

Giusto è giusto, bisogna vedere se ti sei dimenticato un punto e virgola, se hai messo una parentesi di troppo, ecc... (nella cartella logs dovresti trovare uno o più file di debug con dentro l'errore che produce la pagina bianca).

La parte che disabilita il supplemento va tolta se metti quella che lo pone a zero (altrimenti risutla disabilitato e non si vede a zero), ma comunque non è quella che causa l'errore.
1)Studiare questo documento prima di fare una domanda: http://url.zen-cart.it/faq
2)CERCA CERCA CERCA CERCA CERCA!
Paolo De Dionigi aka Spike00
Site Admin
 
Messaggi: 1663
Iscritto il: mar feb 08, 2005 10:41 am
Località: Busto Arsizio (VA)

Re: Contrassegno gratuito più conveniente del Paypal

Messaggioda tartarone1 » mer mag 29, 2013 9:15 am

Salve, sono riuscito a farlo funzionare ma ho utilizzato solo la parte
Codice: Seleziona tutto
if ($_SESSION['cart']->show_total() > 90) {
  $cod_cost = 0;
}

e semplice e non dà problemi, grazie.
tartarone1
 
Messaggi: 92
Iscritto il: gio ott 29, 2009 2:38 pm

Re: Contrassegno gratuito più conveniente del Paypal

Messaggioda gianc69 » mer mag 29, 2013 10:18 am

Buongiorno,
se mettete a disposizione il file già con le modifiche effettuate, e quello originale, così da vedere le differenze, farebbe comodo un pò a tutti. Saluti
https://www.erboristeriabio.com la tua erboristeria on line.
Avatar utente
gianc69
 
Messaggi: 660
Iscritto il: mar mar 27, 2007 11:04 am

Re: Contrassegno gratuito più conveniente del Paypal

Messaggioda tartarone1 » mer mag 29, 2013 3:37 pm

Salve io sono riuscito solo a inserire questa parte
Codice: Seleziona tutto
if ($_SESSION['cart']->show_total() > 90) {$cod_cost = 0;}


e molto semplicemente ho fatto come indicato e inserita prima della parte segnalate più o meno alla riga 81, in questo modo:
Codice: Seleziona tutto
   if ($_SESSION['cart']->show_total() > 90) {$cod_cost = 0;}
        if ($cod_country) {
          $cod_tax_address = zen_get_tax_locations();
          $tax = zen_get_tax_rate(MODULE_ORDER_TOTAL_COD_TAX_CLASS, $cod_tax_address['country_id'], $cod_tax_address['zone_id']);
          $order->info['total'] += $cod_cost;
          if ($tax > 0) {
            $tax_description = zen_get_tax_description(MODULE_ORDER_TOTAL_COD_TAX_CLASS, $cod_tax_address['country_id'], $cod_tax_address['zone_id']);
            $order->info['tax'] += zen_calculate_tax($cod_cost, $tax);
            $order->info['tax_groups'][$tax_description] += zen_calculate_tax($cod_cost, $tax);
            $order->info['total'] += zen_calculate_tax($cod_cost, $tax);
            if (DISPLAY_PRICE_WITH_TAX == 'true') {
              $cod_cost += zen_calculate_tax($cod_cost, $tax);
            }
          }


L'altra parte non sono riuscito.
tartarone1
 
Messaggi: 92
Iscritto il: gio ott 29, 2009 2:38 pm

Precedente

Torna a Spedizioni e Pagamenti

cron

Login

Real Time Analytics