Пикеры¶
Класс cePicker
несколько изменен, по сравнению с версией 3.0.x. Теперь чтобы добавить свой пикер, нет необходимости расширять метод add_js_item
с помощью JS-хука. В этот метод теперь должен передаваться массив placeholders
- описание см. ниже.
Добавление выбранных элементов¶
add_js_item(root_id, js_items, prefix, placeholders)
, где:
root_id
- идентификатор элемента, куда будут передаваться выбранные элементы.js_items
- массив выбранных элементов.prefix
- уникальный тип пикера (c - category, p - product, a - page и т.п.).placeholders
- массив соответствий плейсхолдеров данным в массивеjs_items
. Возможные значения:%id
,%item
,%item.key
. Например:
placeholders = {
'{category_id}': '%id',
'{category}': '%item',
}
В этом случае предполагается, что массив js_items
- типа key-value
и %id
будет заменен на ключ, %item
- на значение js_items[id]
.
placeholders = {
'{category_id}': '%id',
'{category}': '%item.value',
}
В этом случае предполагается, что массив js_items
- многомерный и %id
будет заменен на ключ, %item.value
- на значение js_items[id]['value']
.
Удаление всех элементов¶
mass_delete_js_item(items_str, target_id)
, где:
items_str
- перечень идентификаторов элементов для удаления.target_id
- идентификатор элемента, где хранятся удаляемые данные.
Удаление конкретного элемента¶
delete_js_item(root_id, delete_id, prefix)
, где:
root_id
- идентификатор элемента, где хранятся удаляемые данные.delete_id
- идентификатор удаляемого.prefix
- уникальный тип пикера.