Ceny netto w sklepie.

Miejsce na wszelkie dyskusje odnośnie problemów technicznych i ewentualnych pytań z rozbudowaniem systemu w plikach i skryptach Opencart, a które nie dotyczą instalacji.

Ceny netto w sklepie.

Postprzez roghz » 20 sty 2012, o 18:26

Ok, potrzebowałbym małej pomocy ;)
Chciałbym aby w sklepie wyświetlała się jako główna cena netto. - a cena brutto była jako ta mniejsza.
I wszystko było fajnie, zamieniłem sobie to w templejcie miejscami - aż do momentu kiedy nie włączyłem promocji na produkt :) - Otóż rabat jest obliczany od ceny brutto i też taki właśnie wyświetlany.

Czy ktoś byłby w stanie mi pomóc i powiedzieć w jaki sposób zmodyfikować sklep tak aby:
1. W panelu adm. nadal wpisywać cenę netto
2. Na liście produktów, karcie itp wyświetlała się cena netto jako główna, niżej "z VAT",
3. Po włączeniu promocji pokazywała się cena netto po rabacie, oraz niżej "z VAT po rabacie"

Jestem utopiony, tylko to zostało mi aby skończyć sklep, szukałem ale nie udało mi się nic znaleźć. :(
roghz
 
Posty: 10
Dołączył(a): 18 sie 2011, o 15:32

Re: Ceny netto w sklepie.

Postprzez adikon.oc » 21 sty 2012, o 14:32

witaj,

1. kwoty dodawało sie w NETTO i jak nic w panelu admina nie zmieniałeś to nadal się dodaje
2 i 3. edytuj catalog/controller/product/product.php
znajdz (około 224 linia)
Kod: Zaznacz cały
if ($this->config->get('config_tax')) {
   $this->data['tax'] = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price']);
} else {
   $this->data['tax'] = false;
}

i po tym dodaj
Kod: Zaznacz cały
$this->data['netto'] = $this->currency->format((float)$product_info['price']);
$this->data['netto_special'] = $this->currency->format((float)$product_info['special']);


potem edytuj catalog/view/theme/default/template/product/product.tpl
znajdz
Kod: Zaznacz cały
<?php if (!$special) { ?>
<?php echo $price; ?>
<?php } else { ?>
<span class="price-old"><?php echo $price; ?></span> <span class="price-new"><?php echo $special; ?></span>
<?php } ?>
<br />
<?php if ($tax) { ?>
<span class="price-tax"><?php echo $text_tax; ?> <?php echo $tax; ?></span><br />
<?php } ?>

i zamień na
Kod: Zaznacz cały
<?php if (!$special) { ?>
<?php echo $tax; ?>
<?php } else { ?>
<span class="price-old"><?php echo $netto; ?></span> <span class="price-new"><?php echo $netto_special; ?></span>
<?php } ?>
<br />
<?php if (!$special) { ?>
   <span class="price-tax"><?php echo $text_tax; ?> <?php echo $price; ?></span><br />
<?php } else { ?>
   <span class="price-tax"><?php echo $text_tax; ?> <span class="price-old"><?php echo $price; ?></span> <?php echo $special; ?></span><br />
<?php } ?>


postępuj podobnie przy zmianie wyświetlania tych cen w listowaniu produktów oraz nie zapomnij zmienić w plikach językowych nazw na "Cena netto" i "Cena brutto"
adikon.oc
 
Posty: 603
Dołączył(a): 28 gru 2010, o 22:56

Re: Ceny netto w sklepie.

Postprzez roghz » 22 sty 2012, o 11:14

Jeszcze nie testowałem, sprawdzę jutro, ale z góry dzięki :)
roghz
 
Posty: 10
Dołączył(a): 18 sie 2011, o 15:32

Re: Ceny netto w sklepie.

Postprzez roghz » 23 sty 2012, o 18:16

Mógłbym prosić Cię jeszcze raz o pomoc przy zmianie tego na liście produktów, niestety próbowałem i coś pokręciłem... tam działa to troszkę inaczej.
Zastanawiam się również czy da się wyświetlić ile klient zaoszczędzi w tej promocji (nadal przy wyniku netto)
roghz
 
Posty: 10
Dołączył(a): 18 sie 2011, o 15:32

Re: Ceny netto w sklepie.

Postprzez adikon.oc » 24 sty 2012, o 01:22

na początek edytuj plik catalog/controller/product/category.php
i znajdz
Kod: Zaznacz cały
if ((float)$result['special']) {
    $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
} else {
    $special = false;
}

zamień na
Kod: Zaznacz cały
if ((float)$result['special']) {
    $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
    $netto_special = (float)$result['special'];
} else {
    $special = false;
    $netto_special = false;
}

potem znajdź
Kod: Zaznacz cały
$this->data['products'][] = array(
    'product_id'  => $result['product_id'],
    'thumb'       => $image,
    'name'        => $result['name'],
    'description' => substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
    'price'       => $price,
    'special'     => $special,
    'tax'         => $tax,
    'rating'      => $result['rating'],
    'reviews'     => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
    'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'])      
);

i zamień na
Kod: Zaznacz cały
$this->data['products'][] = array(
    'product_id'  => $result['product_id'],
    'thumb'       => $image,
    'name'        => $result['name'],
    'description' => substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
    'price'       => $price,
    'special'     => $special,
    'tax'         => $tax,
    'rating'      => $result['rating'],
    'reviews'     => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
    'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id']),
    'netto'       => $this->currency->format((float)$result['price']),
    'netto_special'=> $this->currency->format($netto_special),
    'save_amount'  => $this->currency->format($result['price'] - $netto_special)      
);

na sam koniec wyedytuj plik catalog/view/theme/default/template/product/category.tpl
i znajdz
Kod: Zaznacz cały
<div class="price">
    <?php if (!$product['special']) { ?>
    <?php echo $product['price']; ?>
    <?php } else { ?>
    <span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
    <?php } ?>
    <?php if ($product['tax']) { ?>
    <br />
    <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
    <?php } ?>
</div>

i zamień to na
Kod: Zaznacz cały
<div class="price">
    <?php if (!$product['special']) { ?>
    <?php echo $product['tax']; ?>
    <?php } else { ?>
    <span class="price-old"><?php echo $product['netto']; ?></span> <span class="price-new"><?php echo $product['netto_special']; ?></span> (oszczędzasz: <?php echo $product['save_amount']; ?>)<br />
    <?php } ?>
    <?php if (!$product['special']) { ?>
    <br />
    <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['price']; ?></span>
    <?php } else { ?>
    <span class="price-tax"><?php echo $text_tax; ?> <span class="price-old"><?php echo $product['price']; ?></span> <?php echo $product['special']; ?></span>
    <?php } ?>
</div>

tak jak poprzednio pisałem w plikach językowych dodaj/zmień "Kwota neto" i "Kwota brutto"

pozdrawiam
adikon.oc
 
Posty: 603
Dołączył(a): 28 gru 2010, o 22:56

Re: Ceny netto w sklepie.

Postprzez borubar » 24 sty 2012, o 11:40

A dlaczego w oryginalnym skrypcie cena i podatek pod spodem sa takie same??
Wpisałem cenę 100 zł i podatek wyświetla mi się 100zł.
Dla przykładu: kliknij tutaj

Dla mnie rozwiązaniem byłoby zrobienie tylko ceny brutto i koniec. Netto mnie nie interesuje. Da się to zrobić?
borubar
 
Posty: 232
Dołączył(a): 27 mar 2011, o 12:19

Re: Ceny netto w sklepie.

Postprzez adikon.oc » 24 sty 2012, o 12:23

a masz ustawiony podatek dla produktu?
wszystko się da zrobić, tylko będzie troche zmian:)
adikon.oc
 
Posty: 603
Dołączył(a): 28 gru 2010, o 22:56

Następna strona

Powrót do Pomoc techniczna przy Opencart

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości

cron