Jump to content
  • 0

"na zamówienie" na karcie produktu w prestashop 1.7


world4players

Question

Witam, jest jakiś moduł lub inna opcja żeby przy stanie magazynowym 0 widniał napis "na zamówienie"? Hurtownia ma plik XML w którym właśnie 1 oznacza dostępny a 0 oznacza na zamówienie i chciałbym żeby nie było możliwości kupna tych "na zamówienie" a tych z 1 możliwość kupna

Link to comment
Share on other sites

22 answers to this question

Recommended Posts

  • 0
3 minuty temu, design4VIP napisał:

Musisz zrobic ifa odwolujac sie do zmiennej oos (out of stock)

A gdzie to zrobic? Jak znajde plik w ktorym znajduje sie fragment odpowiadajacy etykiecie "nowość" lub "tylko online" moze dam rade zrobic to metoda prob i bledow.

Link to comment
Share on other sites

  • 0

 

28 minut temu, design4VIP napisał:

To potrzebujesz online czy oos? A tzw. flagi znajdziesz w product-list.tpl

Dalem przyklad ze o takie flagi mi chodzi ale chce stworzyc nowa flage ktora bedzie zawierala napis "na zamówienie" gdy stan bedzie 0. Ten plik o ktorym mowisz to w nim moge stworzyc nowa flage ktora przy stanie magazynowym 0 wyswietli taki napis? Gdzie go znajde?

Link to comment
Share on other sites

  • 0
15 godzin temu, design4VIP napisał:

To potrzebujesz online czy oos? A tzw. flagi znajdziesz w product-list.tpl

Znalazłem plik w: /themes/gearbest/templates/catalog/listing

lecz w nim nic o flagach nie ma:

 

*}
{extends file=$layout}

{block name='content'}
  <section id="main">

    {block name='product_list_header'}
      <h2 class="h2">{$listing.label}</h2>
    {/block}

    <section id="products">
      {if $listing.products|count}

        <div id="">
          {block name='product_list_top'}
            {include file='catalog/_partials/products-top.tpl' listing=$listing}
          {/block}
        </div>

        {block name='product_list_active_filters'}
          <div id="" class="hidden-sm-down">
            {$listing.rendered_active_filters nofilter}
          </div>
        {/block}

        <div id="">
          {block name='product_list'}
            {include file='catalog/_partials/products.tpl' listing=$listing}
          {/block}
        </div>

        <div id="js-product-list-bottom">
          {block name='product_list_bottom'}
            {include file='catalog/_partials/products-bottom.tpl' listing=$listing}
          {/block}
        </div>

      {else}

        {include file='errors/not-found.tpl'}

      {/if}
    </section>

  </section>
{/block}

 

Link to comment
Share on other sites

  • 0
3 godziny temu, design4VIP napisał:

Ok, nie siedze juz od dawna w presta i za bardzo nie znam jeszcze budowy szablonu z 1.7. Ale masz tutaj rozdzielony plik z odnosnikami (included file). Przeklikaj te pliki w poszukiwaniu np. "New" i tam umiewc sie ze swoja flaga $oos

Więc tak poszedłem do tego pliku product.tpl jak było to tam mam to:

 

<div id="js-product-list">
  <div class="products">
    {foreach from=$listing.products item="product"}
      {block name='product_miniature'}
        {include file='catalog/_partials/miniatures/product.tpl' product=$product}
      {/block}
    {/foreach}
  </div>

  {block name='pagination'}
    {include file='_partials/pagination.tpl' pagination=$listing.pagination}
  {/block}

  <div class="hidden-md-up hidden-xs-up hidden-sm-up text-xs-right up">
    <a href="#header" class="btn btn-secondary">
      {l s='Back to top' d='Shop.Theme.Actions'}
      <i class="material-icons">&#xE316;</i>
    </a>
  </div>
</div>

po przejściu do kolejnego pliku product.tpl mam to:

 

{block name='product_miniature_item'}
  <article class="product-miniature js-product-miniature" data-id-product="{$product.id_product}" data-id-product-attribute="{$product.id_product_attribute}" itemscope itemtype="http://schema.org/Product">
    <div class="thumbnail-container">

        <div class="thumbnail-container-image" style="min-height: 250px;">
          {block name='product_thumbnail'}
            <a href="{$product.url}" class="thumbnail product-thumbnail">
              <img
                src = "{$product.cover.bySize.home_default.url}"
                alt = "{$product.cover.legend}"
                data-full-size-image-url = "{$product.cover.large.url}"
              >
            </a>
          {/block}
		  {block name='product_variants'}
        {if $product.main_variants}
          {include file='catalog/_partials/variant-links.tpl' variants=$product.main_variants}
        {/if}
        {/block}
			<div class="highlighted-informations{if !$product.main_variants} no-variants{/if} hidden-sm-down">
			  {block name='quick_view'}
				<a class="quick-view" href="#" data-link-action="quickview">
				  <i class="material-icons">&#xE402;</i> {l s='Quick view' d='Shop.Theme.Actions'}
				</a>
			  {/block}
			</div>
        </div>
      <div class="product-description">
        {block name='product_name'}
          <h1 class="h3 product-title" itemprop="name"><a href="{$product.url}">{$product.name|truncate:30:'...'}</a></h1>
        {/block}

        {block name='product_price_and_shipping'}
          {if $product.show_price}
            <div class="product-price-and-shipping">

              {hook h='displayProductPriceBlock' product=$product type="before_price"}

              <span itemprop="price" class="price">{$product.price}</span>

              {hook h='displayProductPriceBlock' product=$product type='unit_price'}

            {hook h='displayProductPriceBlock' product=$product type='weight'}

            {if $product.has_discount}
                {hook h='displayProductPriceBlock' product=$product type="old_price"}

                <span class="regular-price">{$product.regular_price}</span>
              {/if}
          </div>
        {/if}
      {/block}

      {block name='product_reviews'}
        {hook h='displayProductListReviews' product=$product}
      {/block}
    </div>

    {block name='product_flags'}
      <ul class="product-flags">
        {foreach from=$product.flags item=flag}
          <li class="{$flag.type}">{$flag.label}</li>
        {/foreach}
		
        {if $product.has_discount}
          {if $product.discount_type === 'percentage'}
		   <li class="discount-percentage">{$product.discount_percentage}</span>
	      {/if}
        {/if}
      </ul>
    {/block}

  </article>
{/block}

no i niestety nie widzę za dużo o tych flagach prócz jednego fragmentu.

 

@design4VIP  Jak bym ci podesłał ten szablon to miałbyś czas zerknąć gdzie ten plik się znajduje? 

Edited by world4players (see edit history)
Link to comment
Share on other sites

  • 0
{block name='product_flags'}
<ul class="product-flags">
{if $product->quantity == 0 AND $quantity == 0}
    <li class="product-flag oos">
        {l s="Not Available" d="Shop.Theme.Catalog"}
    </li>
    {/if} {foreach from=$product.flags item=flag}
    <li class="product-flag {$flag.type}">{$flag.label}</li>
    {/foreach}
</ul>
{/block}

tak troche "na dziko" ale powinno zadzialac ;)

tylko pozniej musisz sobie ostylowac  .product-flag.oos {  }

Edited by design4VIP (see edit history)
Link to comment
Share on other sites

  • 0
2 godziny temu, design4VIP napisał:

{block name='product_flags'}
<ul class="product-flags">
{if $product->quantity == 0 AND $quantity == 0}
    <li class="product-flag oos">
        {l s="Not Available" d="Shop.Theme.Catalog"}
    </li>
    {/if} {foreach from=$product.flags item=flag}
    <li class="product-flag {$flag.type}">{$flag.label}</li>
    {/foreach}
</ul>
{/block}

tak troche "na dziko" ale powinno zadzialac ;)

tylko pozniej musisz sobie ostylowac  .product-flag.oos {  }

Zapewne bedzie to w pliku css? Wystarczy chyba ze skopiuje to co jest np. Od new i tylko zmienie nazwe?

Link to comment
Share on other sites

  • 0
13 godzin temu, design4VIP napisał:

{block name='product_flags'}
<ul class="product-flags">
{if $product->quantity == 0 AND $quantity == 0}
    <li class="product-flag oos">
        {l s="Not Available" d="Shop.Theme.Catalog"}
    </li>
    {/if} {foreach from=$product.flags item=flag}
    <li class="product-flag {$flag.type}">{$flag.label}</li>
    {/foreach}
</ul>
{/block}

tak troche "na dziko" ale powinno zadzialac ;)

tylko pozniej musisz sobie ostylowac  .product-flag.oos {  }

Dobra pykło wszystko jak należy :) chyba dobrze wygląda?

WBFtIbg.jpg

 

 

EDIT 

dobra ostatnia sprawa, o ile tutaj się wyświetla to jeszcze bym chciał by po wejściu w produkt również się wyświetlała. Flaga "Nowy" się wyświetla i pozostałe ale moja "na zamówienie" już nie 😕

 

Tak samo nie wyświetla się w bloku na stronie głównej:

NCjLh08.png

Ten kabel ma stan magazynowy "0" i nie ma flagi a po wyszukaniu go w kategoriach ma już flagę

Edited by world4players (see edit history)
Link to comment
Share on other sites

  • 0

EDIT jest już gut git. musiałem zamiast tego:

{block name='product_flags'}
<ul class="product-flags">
{if $product->quantity == 0 AND $quantity == 0}
    <li class="product-flag oos">
        {l s="Na zamówienie" d="Shop.Theme.Catalog"}
    </li>
    {/if} {foreach from=$product.flags item=flag}
    <li class="product-flag {$flag.type}">{$flag.label}</li>
    {/foreach}
</ul>
{/block}

wstawić to:

{block name='product_flags'}
<ul class="product-flags">
{if $product->quantity == 0 AND $quantity == 0}
    <li class="product-flag oos">
        {l s="Na zamówienie" d="Shop.Theme.Catalog"}
    </li>
    {/if}
</ul>
{/block}

w pliku:

public_html/modules/anthemeblocks/views/templates/front/productcolumnslider/item.tpl

Link to comment
Share on other sites

  • 0

@design4VIP Niestety mam kolejny problem, ponieważ zmieniłem szablon i męczę się z dodaniem flagi ponieważ to już jest zupełnie inaczej. Wstawiam ci kod z flag jak teraz wygląda i co miałbym dopisać by również się moja wyświetlała?

 

      <div class="box-label">
        {block name='box_label'}
          {foreach from=$product.flags item=flag}
            {if $flag.type == 'new'}
              <label class="label label-new product-flag {$flag.type}">{$flag.label}</label>
            {elseif $flag.type == 'on-sale'}
              <label class="label label-sale product-flag {$flag.type}">{$flag.label}</label>
            {/if}
          {/foreach}
        {/block}
      </div>
  
      {block name='product_flags'}
        <ul class="product-flags">
          {foreach from=$product.flags item=flag}
            {if $flag.type != 'new' && $flag.type != 'on-sale'}
              <li class="product-flag {$flag.type}">{$flag.label}</li>
            {/if}
          {/foreach}
        </ul>
      {/block}

ten twój poprzedni kod niestety w tym wypadku nie działa 😕 Plik jest w: 

public_html/themes/bos_atari/templates/catalog/_partials/miniatures/product.tpl

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