Adam Posted February 24, 2022 Share Posted February 24, 2022 Cześć Jak w tytule - jak / czy można rozdzielić atrybuty (select i input-radio) by były w innych miejscach na stronie? Np. select gdzieś na górze w product.tpl a input-radio na dole. Wiadomo - zrobić łatwo ale żeby działało już tak nie Z góry dzięki. Link to comment Share on other sites More sharing options...
0 endriu107 Posted February 24, 2022 Share Posted February 24, 2022 Atrybuty muszą się znajdować w tym samym <form> i dobrze by było żeby posiadały taką samą strukturę klas ponieważ są tam uruchamiane eventy na ich podstawie np. podczas wyboru konkretnego atrybutu. Może jakbyś bardziej opisał przypadek takiego użycia to było by łatwiej podpowiedzieć. Link to comment Share on other sites More sharing options...
0 Adam Posted February 24, 2022 Author Share Posted February 24, 2022 Dzięki za odpowiedź - dlatego mi to nie działało Wymyśliłem to tak, że product-variants.tpl wygląda następujaco: <div class="product-variants js-product-variants"> {foreach from=$groups key=id_attribute_group item=group} {if !empty($group.attributes)} <div class="clearfix product-variants-item"> <span class="control-label">{$group.name} {foreach from=$group.attributes key=id_attribute item=group_attribute} {/foreach} </span> {if $group.group_type == 'color'} <ul id="group_{$id_attribute_group}"> {foreach from=$group.attributes key=id_attribute item=group_attribute} <li class="float-xs-left input-container {if $group.attributes_quantity[$id_attribute]<=0}outstock{else}instock{/if}"> <label aria-label="{$group_attribute.name}"> <input class="input-color" type="radio" data-product-attribute="{$id_attribute_group}" name="group[{$id_attribute_group}]" value="{$id_attribute}" title="{$group_attribute.name}"{if $group_attribute.selected} checked="checked"{/if}> <span {if $group_attribute.texture} class="color texture" style="background-image: url({$group_attribute.texture})" {elseif $group_attribute.html_color_code} class="color" style="background-color: {$group_attribute.html_color_code}" {/if} ><span class="attribute-name sr-only">{$group_attribute.name}</span></span> </label> </li> {/foreach} </ul> {elseif $group.group_type == 'radio'} <ul id="group_{$id_attribute_group}"> {foreach from=$group.attributes key=id_attribute item=group_attribute} <li class="input-container float-xs-left {if $group.attributes_quantity[$id_attribute]<=0}outstock{else}instock{/if}"> <label> <input class="input-radio" type="radio" data-product-attribute="{$id_attribute_group}" name="group[{$id_attribute_group}]" value="{$id_attribute}" title="{$group_attribute.name}"{if $group_attribute.selected} checked="checked"{/if}> <div class="container-option"> <span class="radio-label"><span>{$group_attribute.name}</span></span>{if $group.group_type == 'radio' && $id_attribute_group == '3'} {$group_attribute.name} {/if}</div> </label> </li> {/foreach} </ul> {/if} </div> {/if} {/foreach} </div> Czyli wszystko poza selectem. Select jest w innym pliku, który wygląda następująco: <div class="product-variants js-product-variants"> {foreach from=$groups key=id_attribute_group item=group} {if $group.group_type == 'select'} <select class="form-control form-control-select" id="group_{$id_attribute_group}" aria-label="{$group.name}" data-product-attribute="{$id_attribute_group}" name="group[{$id_attribute_group}]"> {foreach from=$group.attributes key=id_attribute item=group_attribute} <option value="{$id_attribute}" title="{$group_attribute.name}"{if $group_attribute.selected} selected="selected"{/if}>{$group_attribute.name}</option> {/foreach} </select> {/if}{/foreach}</div> Dodaję go jako include w product.tpl i wyświeta się on na stronie tyle, że nie działa (nie wpływa na cenę, itd.). Generalnie chodzi o to by wyświetlić go w DOM dużo wyżej niż jest: - fajnie jakby był tu, np. <div class="opcja-wyboru"> -- --- a tu jest obecnie <div class="product-variants-item"> Pozdrawiam Link to comment Share on other sites More sharing options...
Question
Adam
Cześć
Jak w tytule - jak / czy można rozdzielić atrybuty (select i input-radio) by były w innych miejscach na stronie? Np. select gdzieś na górze w product.tpl a input-radio na dole.
Wiadomo - zrobić łatwo ale żeby działało już tak nie
Z góry dzięki.
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now