Jump to content
  • 0
Kuras

Kod rabatowy / voucher poza koszykiem

Question

Dzień dobry

Panie... panowie... :-)

 

Czy mi ktoś podpowie jak wyświetlić listę kodów rabatowych (ta lista co pojawia się w koszyku) na innej stronie niż koszyk.

Np na home lub gdziekolwiek indziej...

 

Pomocy! :-)

Share this post


Link to post
Share on other sites

11 answers to this question

Recommended Posts

  • 0

Trudne...

 

To może łatwiejsze... podświetlone kody rabatowe pojawiają się w koszyku jak coś jest w nim.

Jak zrobić aby podświetlone kody rabatowe były cały czas widoczne na stronie koszyka... niezależnie czy coś w nim jest czy brak produktów.

 

???

Share this post


Link to post
Share on other sites
  • 0

w chwili obecnej nie ma możliwości wyświetlenia gdzieś listy kodów rabatowych, bo po prostu taka funkcja nie istnieje.

Jedynie w koszyku.

 

A skoro chcesz ją wyświetlać w koszyku ZAWSZE, to modyfikacja plików będzie niezbędna.

shopping-cart.tpl

 

chodzi o kod:
 

{if $displayVouchers}
						<p id="title" class="title_offers">{l s='Take advantage of our exclusive offers:'}</p>
						<div id="display_cart_vouchers">
						{foreach $displayVouchers as $voucher}
							{if $voucher.code != ''}<span onclick="$('#discount_name').val('{$voucher.code}');return false;" class="voucher_name">{$voucher.code}</span> - {/if}{$voucher.name}<br />
						{/foreach}
						</div>
					{/if}

umieścić go należy gdzieś poza warunkiem sprawdzającym czy w koszyku są produkty, czy nie.

Share this post


Link to post
Share on other sites
  • 0

Bo powiedzcie mi proszę, czy to ma sens aby kody brabatowe pojawiły się tylko wtedy jak coś jest w koszyku?

I tylko na stronie koszyka.

 

Dużo lepiej byłoby gdyby kody pojawiały się na stronie price-drop albo z boku... bo zachęcie to do kupienia produktu.

 

Zgadza się?

Share this post


Link to post
Share on other sites
  • 0

sprawdzałem. i działa.

 

 

A weź wywal produkt z koszyka... proszę :-)

Share this post


Link to post
Share on other sites
  • 0

a jaki jest sens wyświetlania tego jak nie ma produktu w koszyku ?

skoro nie ma produktu to niema do czego kuponu zastosować.

Share this post


Link to post
Share on other sites
  • 0

Początek wpisu jest o tym aby wyświetlić kody kuponów rabatowych na innych stronach... np na home.

Potem we wpisie piszę, że jeśli nie na innej stronie to choćby w koszyku jak nic nie ma.

Ale jak widzę, nie mamy takiej wiedzy...

 

 

skoro nie ma produktu to niema do czego kuponu zastosować.

 

Zastanówmy się... gdybym wiedział, że jest do wykorzystania kupon rabatowy, nie będąc w koszyku to by mnie to bardzo zainteresowało.

Np. Wchodzę na stronę produktu X i ma informację, że kupując X i Y i wpisując kod dostanę Z. A że miałem kupić X a Yiem jestem również zaintersowany to chętnie skorzystam z promocyjnego kodu bo zyskam Z.

Niestety nie będę o tym wiedział do czasu jak dodam X i przejdę do koszyka.

A ja właśnie chce poinformować ogół nie wchodząc do koszyka, że istniej kod kuponu rabatowego.

 

 

a jaki jest sens wyświetlania tego jak nie ma produktu w koszyku ?

 

Od cały sens. Ma to sens czy nie ma? ;-)

Share this post


Link to post
Share on other sites
  • 0

zacząć trzeba od tego, że wyświetlane będą tylko kody z ustawioną opcją:

sUaKkKe.png

i to jest jedyna możliwość wyświetlenia kodów, które są dostępne. Nie ma żadnego modułu, który pozwalałby wyświetlać dostępne kody w różnych częściach sklepu.

 

Jeżeli chcesz koniecznie mieć taką funkcjonalność, musisz utworzyć swój kod który to zrobi, nie ma na to innej rady.

 

kod jest prosty, wystarczy pętla foreach na statycznej funkcji:

CartRule::getCartsRuleByCode("%")

następnie możesz sobie wyświetlić tylko te kody, które mają zaznaczoną opcję "highlight" (patrz obrazek wyżej)

{if $kod.highlight==1}
{$kod.code}
{/if}

kod wklejasz do plików .tpl tam, gdzie chcesz wyświetlić tę listę.

Share this post


Link to post
Share on other sites
  • 0

To ja zrobiłem tak... może się komuś to przyda.

Zapraszam programistów do weryfikacji kodu...

 

W pliku ParentOrderController.php jest coś takiego jak "Get available cart rules..."

 

Dodałem ten fragment kodu do pliku PricesDropController.php

 

Teraz PricesDropController.php wygląda tak (fragment kodu)

                $available_cart_rules = CartRule::getCustomerCartRules($this->context->language->id, (isset($this->context->customer->id) ? $this->context->customer->id : 0), true, true, true, $this->context->cart);
		$cart_cart_rules = $this->context->cart->getCartRules();
		foreach ($available_cart_rules as $key => $available_cart_rule)
		{
			if (!$available_cart_rule['highlight'] || strpos($available_cart_rule['code'], 'BO_ORDER_') === 0)
			{
				unset($available_cart_rules[$key]);
				continue;
			}
			foreach ($cart_cart_rules as $cart_cart_rule)
				if ($available_cart_rule['id_cart_rule'] == $cart_cart_rule['id_cart_rule'])
				{
					unset($available_cart_rules[$key]);
					continue 2;
				}
		}
		
		$this->context->smarty->assign(array(
			'products' => Product::getPricesDrop($this->context->language->id, (int)$this->p - 1, (int)$this->n, false, $this->orderBy, $this->orderWay),
			'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
			'nbProducts' => $nbProducts,
			'homeSize' => Image::getSize(ImageType::getFormatedName('home')),
			'comparator_max_item' => Configuration::get('PS_COMPARATOR_MAX_ITEM'),
			'voucherAllowed' => CartRule::isFeatureActive(),
			'displayVouchers' => $available_cart_rules
		));

Zapisałem pliki i umieściłem go (aby było ładnie) w /override/controllers/front/

 

Wygląda, że działa :-)

 

Oczywiście w prices-drop.tpl należy wstawić pętle...

{foreach $displayVouchers as $voucher}
        {$voucher.code}
        {$voucher.name}
{/foreach}

...aby wyświetlić podświetlone kody rabatowe na stronie prices-drop.

Share this post


Link to post
Share on other sites
  • 0

Cześć! Ja bym chciał odkopać temat i zadać odwrócone pytanie.

W jaki sposób usunąć ze strony koszyka dostępne kody, tzn.: nie chcę podpowiadać klientom jakie mam dostępne kody rabatowe. Chcę aby korzystali z nich tylko ci klienci, którzy je posiadają.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More