Где возникла проблема:
cs-cart v 4.16 RUS. Тест на обычной сборке
Суть проблемы:
При выводе пикера товаров с параметром position Скриншот 12-04-2023 13:57:10.jpg
показать сохраненные позиции нет возможности из-за логике в шаблоне.
Как воспроизвести проблему:
Создайте обычный пикер товаров
В $products у нас массив вида
[
‘позиция’ => id_товара,
12 =>122,
13 => 44
…
]
{include file=“pickers/products/picker.tpl”
input_name=“products_list[product_ids]”
data_id=“added_products”
item_ids=$products
type=“links”
positions=true
dialog_opener_meta=“cm-dialog-destroy-nested-on-close”
}
После сохранения, в базу данных можно принять указанные позиции и id товаров. Ту все хорошо.
Но показать сохраненные позиции нельзя из-за логики в шаблонах
А именно из-за конструкций
js.tpl
<input type="text" name="{$input_name}[{$delete_id}]" value="{math equation="a*b" a=$position b=10}" size="3" class="input-micro" {if $clone}disabled="disabled"{/if} />
picker.tpl
{include file="pickers/products/js.tpl" product_id=$product product=$product|fn_get_product_name|default:__("deleted_product") root_id=$data_id delete_id=$product|escape:javascript type="product" first_item=$smarty.foreach.items.first position_field=$positions position=$smarty.foreach.items.iteration+$start_pos}
Где значения позиций строго по итерации.
Чтобы подтвердить и решить проблему, нам сначала нужно повторить её на своём магазине или демо (без любых сторонних модулей и тем). Если это не получится, мы попросим вас обратиться в Help Desk для дальнейшего изучения.
Тест проводился на чистой сборке.