Вывод характеристик товара
#1
Отправлено 18 May 2013 - 01:49 PM
Вот для примера ссылка - http://www.impower.r...oduct_1244.html
#2
Отправлено 18 May 2013 - 03:40 PM
По ссылке виден только ГОТОВЫЙ HTML-код, который уже ошибочен. А вот чтобы увидеть причину неверного кода надо видеть, как минимум, шаблон. Т.е. product_detailed.tpl.htmlВот для примера ссылка
PS. Нынешний Ваш HTML-код вывода доп.характеристик:
Производитель:
<b name='option_select_1' onchange='GetCurrentCurrency();' class="WCHhider">
<option value='0:197' >CHEF JAY'S</option>
</b><div class="fil"></div>
ВКУСЫ (1):
<b name='option_select_2' onchange='GetCurrentCurrency();' class="WCHhider">
<option value='0:200' >ШОКО-КОКОС,</option>
<option value='0:199' selected>ЯБЛОЧНАЯ КАРАМЕЛЬ,</option>
</b><div class="fil"></div>
ВКУСЫ (2):
<select name='option_select_3' onchange='GetCurrentCurrency();' class="WCHhider"><option value='0:-1'>Не определено</option>
<b value='0:200'>ШОКО-КОКОС,</option>
<b value='0:199'>ЯБЛОЧНАЯ КАРАМЕЛЬ,</option>
это какой-то бред. Вместо тэгов <select> почему-то тэги <b>, вместо тэгов <option> тоже местами тэги <b>. Это только то, что с ходу в глаза бросается прямо в HTML-коде.
#3
Отправлено 18 May 2013 - 10:31 PM
По ссылке виден только ГОТОВЫЙ HTML-код, который уже ошибочен. А вот чтобы увидеть причину неверного кода надо видеть, как минимум, шаблон. Т.е. product_detailed.tpl.htmlВот для примера ссылка
PS. Нынешний Ваш HTML-код вывода доп.характеристик:
Производитель:
<b name='option_select_1' onchange='GetCurrentCurrency();' class="WCHhider">
<option value='0:197' >CHEF JAY'S</option>
</b><div class="fil"></div>
ВКУСЫ (1):
<b name='option_select_2' onchange='GetCurrentCurrency();' class="WCHhider">
<option value='0:200' >ШОКО-КОКОС,</option>
<option value='0:199' selected>ЯБЛОЧНАЯ КАРАМЕЛЬ,</option>
</b><div class="fil"></div>
ВКУСЫ (2):
<select name='option_select_3' onchange='GetCurrentCurrency();' class="WCHhider"><option value='0:-1'>Не определено</option>
<b value='0:200'>ШОКО-КОКОС,</option>
<b value='0:199'>ЯБЛОЧНАЯ КАРАМЕЛЬ,</option>
это какой-то бред. Вместо тэгов <select> почему-то тэги <b>, вместо тэгов <option> тоже местами тэги <b>. Это только то, что с ходу в глаза бросается прямо в HTML-коде.
Вот сам файл
Прикрепленные файлы
#4
Отправлено 18 May 2013 - 10:56 PM
Лично я точно не буду на чистом энтузиазме копаться в чужом шаблоне, чтобы какой-то не знакомый мне пользователь форума на халяву решил проблему своего коммерческого сайта. Это вопрос не пяти минут, а тратить бесплатно бОльшее время на чужие коммерческие (!) проблемы я считаю неправильным.Вот сам файл
PS. Я глянул одним глазом в шаблон - там те же странности, что описаны мной выше. Что, собственно, ожидаемо. Так что либо разбирайтесь сами (причина проблемы уже названа), либо вэлком в коммерческий раздел форума. Причем у Вас еще и ShopCMS не самый последний судя по design в ссылках.
#5
Отправлено 21 May 2013 - 08:04 AM
А вот где исправить в коде, чтобы возможность выбора значения выводила только для второй характеристики (вкуса), а производителя и упаковку печатало без выбора из выпадающего списка?
Пример кода product_brief.tpl.html
<form action="index.php?productID={$product_info.productID}" method=post name="MainForm1_{$product_info.productID}"> {counter name='select_counter' start=0 skip=1 print=false assign='select_counter_var'} {section name=i loop=$product_info.product_extra} {if $product_info.product_extra[i].option_type eq 0 } {$product_info.product_extra[i].name}: {$product_info.product_extra[i].option_value}<br> {else} {section name=k loop=$product_info.product_extra[i].option_show_times} {$product_info.product_extra[i].name}{if $product_info.product_extra[i].option_show_times > 1} ({$smarty.section.k.index+1}):{else}:{/if} {counter name=select_counter} {if $product_info.product_extra[i].values_to_select_count == 1} <b>{$product_info.product_extra[i].values_to_select[0].option_value}</b><br><input type="hidden" name="option_select_{$select_counter_var}_{$product_info.productID}" value='{$product_info.product_extra[i].values_to_select[0].price_surplus}:{$product_info.product_extra[i].values_to_select[0].variantID}'> {else} {if $smarty.section.k.index == 0} <select name='option_select_{$select_counter_var}_{$product_info.productID}' onchange='GetCurrentCurrency_{$product_info.productID}();' class="WCHhider"> {section name=j loop=$product_info.product_extra[i].values_to_select} <option value='{$product_info.product_extra[i].values_to_select[j].price_surplus}:{$product_info.product_extra[i].values_to_select[j].variantID}' {if $product_info.product_extra[i].values_to_select[j].variantID eq $product_info.product_extra[i].variantID}selected{/if}>{$product_info.product_extra[i].values_to_select[j].option_value}</option> {/section} </select><br> {else} <select name='option_select_{$select_counter_var}_{$product_info.productID}' onchange='GetCurrentCurrency_{$product_info.productID}();' class="WCHhider"> <option value='0:-1'>{$smarty.const.NOT_DEFINED}</option> {section name=j loop=$product_info.product_extra[i].values_to_select} <option value='{$product_info.product_extra[i].values_to_select[j].price_surplus}:{$product_info.product_extra[i].values_to_select[j].variantID}'>{$product_info.product_extra[i].values_to_select[j].option_value}</option> {/section} </select><br> {/if}{/if} {/section} {/if} {/section} </form>
#6
Отправлено 21 May 2013 - 09:08 PM
Судя по коду, оно так и должно происходить. В коде есть условиеА вот где исправить в коде, чтобы возможность выбора значения выводила только для второй характеристики (вкуса), а производителя и упаковку печатало без выбора из выпадающего списка?
{if $product_info.product_extra[i].values_to_select_count == 1}
код1
{else}
код2
{/if}
Т.е. если у этого товара данная характеристика имеет всего один возможный вариант выбора (условие ...count==1), то будет показан "код1", в противном случае "код2".
#7
Отправлено 22 May 2013 - 07:50 AM
Т.е. если у этого товара данная характеристика имеет всего один возможный вариант выбора (условие ...count==1), то будет показан "код1", в противном случае "код2".
Я имел ввиду вариант, при котором чек-бокс с выпдающим списком касался только характеристики "вкус", а характеристика "производитель" выводилась без чекбокса (Производитель - ........)
Сейчас возможность выбора (независимо от количества возможных вариантов) выводится для всех характеристик.
#8
Отправлено 04 March 2014 - 12:46 PM
Т.е насколько я понял я сначала должен написать где искать
{if $categories_to_select}<input type='hidden' name='search_with_change_category_ability' value='yes'> {else} <input type='hidden' name='search' value='1'>{/if}
потом перечислить параметры этой категории как в блоке filter.tpl
{if $params}
{section name=i loop=$params}
{$params[i].name}
<select name='param_{$params[i].optionID}'>
<option value='0'>{$smarty.const.STRING_UNIMPORTANT}</option>
{section name=j loop=$params[i].variants}
<option value='{$params[i].variants[j].variantID}' {if $params[i].value == $params[i].variants[j].variantID}selected{/if}>{$params[i].variants[j].value|default:""}</option>
{/section}
</select>
{/if}
{/section}
{/if}
Вот только не могу понять как в смарти прописать перечисление ссылками какой путь указывать <a href src="{$params[i].variants[j].variantID}"> ?
#9
Отправлено 10 March 2014 - 08:10 AM
Идея возникла подменить строку запроса, для этого создал блок показывать только в категориях с содержанием:
{if $categories_to_select} <input type='hidden' name='search_with_change_category_ability' value='yes'> {else} <input type='hidden' name='search' value='1'> {/if} <div align="left"> {if $params} {section name=i loop=$params} <ul name='param_{$params[i].optionID}' class="sectb"> {section name=j loop=$params[i].variants} <li><a href='index.php?categoryID={$categoryID}&search=1&search_name=&search_price_from=&search_price_to=¶m_{$params[i].optionID}={$params[i].variants[j].variantID}&search_in_subcategory=1&advanced_search_in_category=1' {if $params[i].value == $params[i].variants[j].variantID}selected{/if}>{$params[i].variants[j].value|default:""}</a></li> {/section} </ul> {/section} {/if} </div>