Polskie wsparcie PrestaShop

PrestaShop => Wygląd => Wątek zaczęty przez: Mallard2 w Kwiecień 21, 2014, 11:42:04 pm

Tytuł: Jak zamienić listę rozwijaną atrybutów produktu
Wiadomość wysłana przez: Mallard2 w Kwiecień 21, 2014, 11:42:04 pm
Czy istnieje możliwość innego wyświetlania rozwijane listy dostępnych rozmiarów danego produktu . Szukałem trochę o tym ale nie znalazłem.
Chciałbym aby zamiast rozwijanej listy  , wyświetlane były kwadraciki obok siebie z danym rozmiarem jak poniżej w linku:
http://www.denley.pl/product-pol-15089-BOLF-4751-BIALY.html (http://www.denley.pl/product-pol-15089-BOLF-4751-BIALY.html)

Dało by rade coś takiego wykonać w Prescie , bez użycia dodatkowych modów ? (http://prestadesign.pl/images/smilies/icon_e_smile.gif)

ver. 1.4.4.1
Tytuł: Odp: Jak zamienić listę rozwijaną atrybutów produktu
Wiadomość wysłana przez: west w Kwiecień 22, 2014, 10:51:18 am
zmieniasz tryb wyświetlania atrybutów z listy rozwijanej na checkbox albo kolor
Tytuł: Odp: Jak zamienić listę rozwijaną atrybutów produktu
Wiadomość wysłana przez: design4VIP w Kwiecień 22, 2014, 10:59:59 am
zmieniasz tryb wyświetlania atrybutów z listy rozwijanej na checkbox albo kolor
raczej mysle, ze nie o to chodzi koledze. checkbox daje mozliwosc zaznaczenia paru mozliwosci a kolor... no to kolor wiec raczej tez bez przerobek nie wyswlietli M L XL.... bo chyba o to chodzi.

rozbudowac modulem...  no byloby najprosciej, ale takiego nie wiedzilem. raz robilem cos takiego, moze wiecej jak raz ;) poprostu zmieniajac tryb wysweitlania po stornie produkt.tpl, mala modyfikacja kodu zmienijaca wyswietlanie z <select><options> na <imput type="radio"> wewnatrz {foreach} atrybutow zalatwia sprawe
Tytuł: Odp: Jak zamienić listę rozwijaną atrybutów produktu
Wiadomość wysłana przez: Mallard2 w Kwiecień 22, 2014, 12:38:33 pm
Dokładnie , nie chodzi mi o zamiane na checkbox. Chodzi o zmaiane listy na kwadraciki jak w linku , cos w rodzaju "grid".  Nie chciałbym również wprowadzać dodatkowego modułu.

Zasadniczo  chciałbym się posłużyć rozwiązaniem , które ktoś mi podsunął w zamianie liście rozwijanej sortowania. Zamiast listy rozwijanej mam ustawione obok siebie listę w bloku z nazwami i  z przedziałkami "I"

Formularz form jest ukryty:
<form id="productsSortForm" action="{$request|escape:'htmlall':'UTF-8'}">

<select id="selectPrductSort" >
        <option value="{$orderbydefault|escape:'htmlall':'UTF-8'}:{$orderwaydefault|escape:'htmlall':'UTF-8'}" {if $orderby eq $orderbydefault}selected="selected"{/if}>{l s='--'}</option>
        {if !$PS_CATALOG_MODE}
         <option name="for_price" value="{$link->addSortDetails($request, 'price', 'asc')|escape:'htmlall':'UTF-8'}" {if $orderby eq 'price' AND $orderway eq 'asc'}selected="selected"{/if}>{l s='Price: lowest first'}</option>
         <option value="{$link->addSortDetails($request, 'price', 'desc')|escape:'htmlall':'UTF-8'}" {if $orderby eq 'price' AND $orderway eq 'desc'}selected="selected"{/if}>{l s='Price: highest first'}</option>
         {/if}
         
          <option name="for_name" value="{$link->addSortDetails($request, 'name', 'asc')|escape:'htmlall':'UTF-8'}" {if $orderby eq 'name' AND $orderway eq 'asc'}selected="selected"{/if}>{l s='Product Name: A to Z'}</option>
         <option value="{$link->addSortDetails($request, 'name', 'desc')|escape:'htmlall':'UTF-8'}" {if $orderby eq 'name' AND $orderway eq 'desc'}selected="selected"{/if}>{l s='Product Name: Z to A'}</option>
         
         {if !$PS_CATALOG_MODE}
         <option name="for_quantity" value="{$link->addSortDetails($request, 'quantity', 'desc')|escape:'htmlall':'UTF-8'}" {if $orderby eq 'quantity' AND $orderway eq 'desc'}selected="selected"{/if}>{l s='In-stock first'}</option>
         {/if}
         
    </select>
    <label for="selectPrductSort">{l s='Sort by:'}</label>

</form>


 A za wyświetlanie sortowania odpowiada poniższy kod:

<ul >
      <li><a href="#" onclick="document.location.href=document.forms['productsSortForm']['selectPrductSort'].options['for_name'].value">{l s='Name '}[/url]</li>
      <li class="sortstopper">I</li>
      <li><a href="#" onclick="document.location.href=document.forms['productsSortForm']['selectPrductSort'].options['for_price'].value">{l s='Price'}[/url]</li>
      <li class="sortstopper">I</li>
      <li><a href="#" onclick="document.location.href=document.forms['productsSortForm']['selectPrductSort'].options['for_quantity'].value">{l s='Availability'}[/url]</li>
   </ul>

Niestety jestem dość mało obeznany w możliwościach formularzy i w znacznikach typu input, option, itd.

Jak wykonać podobny zabieg do listy rozwijanej atrybutów ?
Tytuł: Odp: Jak zamienić listę rozwijaną atrybutów produktu
Wiadomość wysłana przez: design4VIP w Kwiecień 22, 2014, 03:49:31 pm
<option> tyczy sie scisle listy <select> i tylko tam jest przynalezny. jezlei chcesz miec rozwiazania zamiast listy np. "radio" musisz zamienic calosc odpoweidzialna za wysweitlanie tego modulu, czyli.. zaczynajac od usuniecia <select> (tutaj zastepujesz np. na <div>) a <option> na <intpuy type="radio"> i po sprawie ;)