Jump to content
  • 0

product.tpl i dodatkowy warunek dla quantityAvailable


mentalspot

Question

Próbuję i próbuję i pewnie coś źle robię ...

Jeżeli mamy 1 produkt na stanie lub więcej niż dwa prdukty, przypisane są do tego dwa różne tłumaczenia. Chciałbym dodać jeszcze 3 tłumaczenie:

 

Kod wygląda tak dla product.js

if (quantityAvailable < 2) // we have 1 or less product in stock and need to show "item" instead of "items"
			{
				$('#quantityAvailableTxt').show();
				$('#quantityAvailableTxtMultiple').hide();
			}
			else
			{
				$('#quantityAvailableTxt').hide();
				$('#quantityAvailableTxtMultiple').show();
			}

po modyfikacji wygląda tak:

if (quantityAvailable < 2) // we have 1 or less product in stock and need to show "item" instead of "items"
			{
				$('#quantityAvailableTxt').show();
				$('#quantityAvailableTxtMultiple').hide();
                                $('#quantityAvailableTxtMultipley').show();
			}
                        else if (quantityAvailable < 5 && quantityAvailable > 1) 
                        {
                            $('#quantityAvailableTxt').hide();            
                            $('#quantityAvailableTxtMultiple').hide();
                            $('#quantityAvailableTxtMultipley').show();
                        }
			else
			{
				$('#quantityAvailableTxt').hide();
                                $('#quantityAvailableTxtMultipley').show();
				$('#quantityAvailableTxtMultiple').show();
			}

W product.tpl jest :

{if ($display_qties == 1 && !$PS_CATALOG_MODE && $product->available_for_order)}
				<p id="pQuantityAvailable"{if $product->quantity <= 0} style="display: none;"{/if}>
					<span id="availability_label">{l s='Availability:'}</span>
					
					<span id="quantityAvailable">{$product->quantity|intval}</span>
					<span {if $product->quantity > 1} style="display: none;"{/if} id="quantityAvailableTxt">{l s='item in stock'}</span>
					<span {if $product->quantity == 1} style="display: none;"{/if} id="quantityAvailableTxtMultiple">{l s='items in stock'}</span>
				</p>
				{/if}

po modyfikacji:

{if ($display_qties == 1 && !$PS_CATALOG_MODE && $product->available_for_order)}
<p id="pQuantityAvailable"{if $product->quantity <= 0} style="display: none;"{/if}>
<span id="availability_label">{l s='Availability:'}</span>
<span id="quantityAvailable">{$product->quantity|intval}</span>
<span {if $product->quantity > 1} style="display: none;"{/if} id="quantityAvailableTxt">{l s='item in stock'}</span>
<span {if $product->quantity == 1} style="display: none;"{/if} id="quantityAvailableTxtMultiple">{l s='items in stock'}</span>
<span {if $product->quantity > 1 AND $product->quantity < 5} style="display: none;"{/if} id="quantityAvailableTxtMultipley">{l s='.'}</span>
</p>
{/if}

Zakładam, że o czymś nie wiem ?

Próbowałem jeszcze kilka innych kombinacji, ale nie działają.

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

nie wyświetla mi 3 warunku :

quantityAvailableTxtMultipley

gdy sa dostępne tylko 2,3 i 4 sztuki towaru

    else if (quantityAvailable < 5 && quantityAvailable > 1) 

I nie wiem w ogóle czy to dobrze robię, ale tak na moją wiedzę wygląda ok.

sprawdź czy nie pomoże zmiana Twojgo kodu na

else if (quantityAvailable =< 5 && quantityAvailable => 1)
Link to comment
Share on other sites

  • 0

Zanim jeszcze spróbuje rozwiązania And63 mam pytanie, czemu w kodzie źródłowym jest to w taki sposób przedstawione ?

<span {if $product->quantity > 1} style="display: none;"{/if} id="quantityAvailableTxt">{l s='item in stock'}</span>
<span {if $product->quantity == 1} style="display: none;"{/if} id="quantityAvailableTxtMultiple">{l s='items in stock'}</span>

pierwsze jest $product->quantity większe od 1

drugie $product->quantity równe 1

 

Pierwsze pokazuje ilość 1, drugie więcej niż 1 a czemuw 2 jest znak porównania ?

Link to comment
Share on other sites

  • 0

brak $ przed zmienną + znaki mniejszości i większości:

 

<= Mniejsze lub równe

wyrażenie <= wyrażenie Zwraca prawdę, jeżeli lewe wyrażenie ma mniejszą lub równą wartość prawemu.

 

>= Większe lub równe

wyrażenie >= wyrażenie Zwraca prawdę, jeżeli lewe wyrażenie ma większą lub równą wartość prawemu.

Link to comment
Share on other sites

  • 0

brak $ przed zmienną + znaki mniejszości i większości:

 

<= Mniejsze lub równe

>= Większe lub równe

dodałem zmienną i poprawiłem znaki większe mniejsze,

niestety nadal pokazuje ten 2 warunek niezależnie od ilości sztuk

 

jeżeli dodam linijkę w product.tpl :

<span {if $product->quantity < 1 AND $product->quantity > 5} style="display: none;"{/if} id="quantityAvailableTxtMultipley">{l s='.'}</span>

to nadal pokazuje 3 warunek niezależnie od ilości sztuk na stanie

jak zmienię na:

<span {if $product->quantity > 1 AND $product->quantity < 5} style="display: none;"{/if} id="quantityAvailableTxtMultipley">{l s='.'}</span>

to pokazuje mi poza tym zasięgiem w którym chcę czyli gdy są 2/3/4 sztuki

 

Dodatkowo zauważyłem, że jeżeli do product.js dodam warunek to mi przestaje działać zoom na obrazku i thickbox... masakra :)

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