Большой список трясогузки в блоке поля потока - PullRequest
0 голосов
/ 09 марта 2020

Мы используем трясогузку для наших блогов, которые являются частью сайта электронной коммерции. Когда мы хотим добавить продукт в блог в том виде, в каком он есть, мы должны указать точное название продукта, в котором он будет сохранен. Поскольку имена могут измениться, это нарушает тот блог, который не является идеальным.

То, что мы хотели бы сделать, это добавить поле в наш блок потокового поля, которое позволит вам выбирать из нашего списка продуктов, однако, поскольку у нас есть более 200 000 продуктов и в каждом блоге может быть до 20 товаров, загрузка списка в выпадающий список не годится. Нам нужно скопировать то, что мы делаем в Django admin, используя django -autocomplete-light, где вы начинаете печатать и получать результаты, основанные на этом, а не загружать список в HTML.

Что мы не можем понять, как это сделать в блоке потокового поля, я видел библиотеки типа "Wagtail Autocomplete", но кажется, что вы можете использовать его только как панель, а не внутри блока. Насколько мы видим, вы можете использовать только подклассы wagtail.core.blocks или они не отображаются в интерфейсе.

Есть идеи?

Заранее спасибо!

1 Ответ

0 голосов
/ 11 марта 2020

Вы можете расширить редактор. Хотя примеры в основном направлены на добавление стиля CSS, это все же должно быть возможно. Вы можете прочитать больше об этом в документации: http://docs.wagtail.io/en/v2.8/advanced_topics/customisation/extending_draftail.html#

Другой вариант - использовать панель автозаполнения Wagtail для указания продукта, на который вы хотите сослаться, в отдельном поле. конечно. Затем, используя обычную замену f-строки, поместите в текст правильные данные о продукте.

...