Strona 1 z 3

Ceny netto w sklepie.

PostNapisane: 20 sty 2012, o 18:26
przez roghz
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źć. :(

Re: Ceny netto w sklepie.

PostNapisane: 21 sty 2012, o 14:32
przez adikon.oc
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"

Re: Ceny netto w sklepie.

PostNapisane: 22 sty 2012, o 11:14
przez roghz
Jeszcze nie testowałem, sprawdzę jutro, ale z góry dzięki :)

Re: Ceny netto w sklepie.

PostNapisane: 23 sty 2012, o 18:16
przez roghz
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)

Re: Ceny netto w sklepie.

PostNapisane: 24 sty 2012, o 01:22
przez adikon.oc
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

Re: Ceny netto w sklepie.

PostNapisane: 24 sty 2012, o 11:40
przez borubar
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ć?

Re: Ceny netto w sklepie.

PostNapisane: 24 sty 2012, o 12:23
przez adikon.oc
a masz ustawiony podatek dla produktu?
wszystko się da zrobić, tylko będzie troche zmian:)