- Автор темы
- #1
:bn:Возникла проблемка с изменением дизайна Shop Script Premium.
При изменении местоположения кнопки "Добавить в корзину" в файле "product_detailed.tpl.html" конфигуратор начинает работать некоректно.
Допустим есть 3 опции конфигуратора:
10 гр.(по умолчанию)
20 гр.
50 гр.
По умолчанию кнопка "добавить в корзину" находится над дополнительными характерисктиками товаров. Если код кнопки расположить под кодом "дополнительных хар-ик" то при добавлении в корзину по умолчанию (без изменения опций конфигуратора) добавляется не 10, а 20 гр. и перестает отображаться значение "цена с учётом выбранных опций"
Я предпологаю, что код кнопки "добавить в корзину":
А код конфигуратора (доп. хар. тов-ов
Я просто меняю их местами друг с другом...
Подскажите плз где я допускаю ошибку?
Извиняюсь зарание если задал мегоглупый вопрос но своими силами я ничего поделать не могу:bn:
При изменении местоположения кнопки "Добавить в корзину" в файле "product_detailed.tpl.html" конфигуратор начинает работать некоректно.
Допустим есть 3 опции конфигуратора:
10 гр.(по умолчанию)
20 гр.
50 гр.
По умолчанию кнопка "добавить в корзину" находится над дополнительными характерисктиками товаров. Если код кнопки расположить под кодом "дополнительных хар-ик" то при добавлении в корзину по умолчанию (без изменения опций конфигуратора) добавляется не 10, а 20 гр. и перестает отображаться значение "цена с учётом выбранных опций"
Я предпологаю, что код кнопки "добавить в корзину":
<form action="index.php?productID={$product_info.productID}"
method=post name="HiddenFieldsForm">
{if $smarty.const.CONF_OPEN_SHOPPING_CART_IN_NEW_WINDOW eq 0}
{* shopping cart page is shown in the same window - in this cart 'add to cart' button is a form submit button *}
{if $product_info.Price>0 && ( $smarty.const.CONF_SHOW_ADD2CART eq 1 ) &&
( $smarty.const.CONF_CHECKSTOCK==0 || $product_info.in_stock > 0 ) }
<input name='cart' type=image src="images/cart_big.gif"
alt="{$smarty.const.ADD_TO_CART_STRING}">
{else}
{/if}
{else}
{* show shopping cart page in a new window => add hidden values as FORM elements and to the cart.php URL *}
{if $product_info.Price>0 && ( $smarty.const.CONF_SHOW_ADD2CART eq 1 ) &&
( $smarty.const.CONF_CHECKSTOCK==0 || $product_info.in_stock > 0 ) }
<a href="javascriptpen_window('cart.php?addproduct={$product_info.productID}{counter name='select_counter_hidden' start=0 skip=1 print=false}{counter name='select_counter_hidden_extra' start=0 skip=1 print=false}{section name=i loop=$product_extra}{if $product_extra.option_type eq 1}{section name=s loop=$product_extra.option_show_times}&option_select_hidden_{counter name=select_counter_hidden}='+document.HiddenFieldsForm.option_select_hidden_{counter name=select_counter_hidden_extra}.value+'{/section}{/if}{/section}',400,300);"><img border=0 src="images/cart_big.gif"
alt="{$smarty.const.ADD_TO_CART_STRING}"></a>
{else}
{/if}
{/if}
{counter name='select_counter_hidden' start=0 skip=1 print=false}
{section name=i loop=$product_extra}
{if $product_extra.option_type eq 1}
{section name=s loop=$product_extra.option_show_times}
<input type=hidden
name='option_select_hidden_{counter name=select_counter_hidden}'
value='1'>
{/section}
{/if}
{/section}
</form>
А код конфигуратора (доп. хар. тов-ов
<form action="index.php?productID={$product_info.productID}" method=post
name="MainForm">
{* extra parameters *}
<p>
<table cellpadding="0" cellspacing="0">
{counter name='select_counter' start=0 skip=1 print=false assign='select_counter_var'}
{section name=i loop=$product_extra}
{if $product_extra.option_type eq 0 }
<tr>
<td>
{$product_extra.name}:
</td>
<td>
<b>{$product_extra.option_value}</b><br>
</td>
<td>
</td>
</tr>
{else}
{counter name='option_show_times' start=0 skip=1 print=false}
{section name=k loop=$product_extra.option_show_times}
<tr>
<td>
{$product_extra.name}{if $product_extra.option_show_times > 1 }
({counter name=option_show_times}{else}:{/if}
</td>
<td>
{counter name=select_counter}
{if $smarty.section.k.index == 0}
<select name='option_select_{$select_counter_var}'
onchange='JavaScript:GetCurrentCurrency();'>
{section name=j loop=$product_extra.values_to_select}
{if $product_extra.values_to_select[j].variantID eq $product_extra.variantID}
<option value='{$product_extra.values_to_select[j].price_surplus}:{$product_extra.values_to_select[j].variantID}' selected>
{else}
<option value='{$product_extra.values_to_select[j].price_surplus}:{$product_extra.values_to_select[j].variantID}'>
{/if}
{$product_extra.values_to_select[j].option_value}
</option>
{/section}
</select>
{else}
<select name='option_select_{$select_counter_var}'
onchange='JavaScript:GetCurrentCurrency();'>
<option value='0:-1'>{$smarty.const.NOT_DEFINED}</option>
{section name=j loop=$product_extra.values_to_select}
<option value='{$product_extra.values_to_select[j].price_surplus}:{$product_extra.values_to_select[j].variantID}'>
{$product_extra.values_to_select[j].option_value}
</option>
{/section}
</select>
{/if}
</td>
</tr>
{/section}
{/if}
{/section}
</table>
{if $select_counter_var != 0}
<b>
{$smarty.const.CURRENT_PRICE_OPTION}:
<input type=hidden value="{php}echo(getPriceUnit());{/php}"
name="priceUnit">
{if $product_info.Price <= 0}
<input type=hidden value="" id="optionPrice">
<input type=text value="n/a"
class=totalPrice
readonly >
{else}
<input type=text value=""
class=totalPrice
readonly
id="optionPrice" >
{/if}
</b>
{literal}
<script langauge='JavaScript'>
document.MainForm.optionPrice.readOnly = true;
function _formatPrice( _price )
{
_pointIndex = -1;
for( i=0; i< _price.length; i++ )
if ( _price.charAt(i) == '.' )
{
_pointIndex = i;
break;
}
if ( _pointIndex == -1 )
_price = _price + ".00";
else if ( _price.length-1 - _pointIndex == 1 )
_price = _price + "0";
_res = "";
i=0;
for( i=_price.length-1; i >= 0; i-- )
{
if ( _price.charAt(i) == '.' )
break;
else
_res = _price.charAt(i) + _res;
}
_res = "." + _res;
i--;
_digitCounter = 0;
for( ; i>=0; i-- )
{
_digitCounter ++;
_res = _price.charAt(i) + _res;
if ( _digitCounter == 3 && i != 0 )
{
_res = "," + _res;
_digitCounter = 0;
}
}
return _res;
}
function GetCurrentCurrency()
{
{/literal}
_selectionCount={$select_counter_var};
_sum = {$product_info.PriceWithOutUnit};
{counter name='select_counter2' start=1 skip=1 print=false
assign='select_counter_var2'}
{section name=i loop=$product_extra}
{section name=k loop=$product_extra.option_show_times}
_value =
document.MainForm.option_select_{$select_counter_var2}.value;
price_surplus = ( _value.split(":") )[0];
_sum += new Number( price_surplus );
variantID = ( _value.split(":") )[1];
document.HiddenFieldsForm.option_select_hidden_{$select_counter_var2}.value =
variantID;
{counter name=select_counter2}
{/section}
{/section}
_sumStr = new String(_sum);
_commaIndex = _sumStr.indexOf(".");
if ( _commaIndex == -1 )
_sumStr = _sum;
else
_sumStr = _sumStr.substr(0, _commaIndex + 3);
{php}
echo("locationPriceUnit=".getLocationPriceUnit().";\n");
echo("priceUnit='".getPriceUnit()."';\n");
{/php}
_sumStr = _formatPrice( _sumStr );
if ( locationPriceUnit )
document.MainForm.optionPrice.value =
_sumStr + document.MainForm.priceUnit.value;
else
document.MainForm.optionPrice.value =
document.MainForm.priceUnit.value + _sumStr;
{literal}
}
{/literal}
GetCurrentCurrency();
</script>
</form>{/if}
Я просто меняю их местами друг с другом...
Подскажите плз где я допускаю ошибку?
Извиняюсь зарание если задал мегоглупый вопрос но своими силами я ничего поделать не могу:bn: