2015-02-02 2 views
0

Я хочу создать атрибут в Magento CE таким образом, чтобы я мог присвоить ему несколько значений в текстовом поле. Я знаю, что несколько значений также могут быть назначены с использованием нескольких типов ввода или раскрывающегося ввода. Но значения, которые могут быть присвоены нашему атрибуту, запускаются в тысячи, поэтому множественный выбор не является практичным. Есть ли способ, посредством которого я могу назначать значения через текстовое поле, которые затем сохраняются в списке или массиве, который можно манипулировать индивидуально?Как назначить несколько значений атрибуту через текстовое поле в Magento?

ответ

1

Без получения дополнительной информации о специфике того, что вы хотите сделать, вот несколько вариантов:

  1. Просто запятая разграничить свои записи в текстовом поле. Точное значение будет сохранено для атрибута в БД. Код, который использует этот атрибут в какой-то момент, может вызвать вызов $var = explode(',' $this->getAttributeName()), чтобы получить неассоциативный массив значений
  2. Если вы хотите разрешить выбор множества возможных значений и поместить их в сериализованную строку для хранения, используйте что-то вроде http://xoxco.com/projects/code/tagsinput/, но сделайте текстовое поле скрытым и поставьте теги опций в форме - отредактируйте jQuery из этой библиотеки, чтобы вставить имя тега в скрытое текстовое поле, щелкнув и изменив цвет тега на интерфейсе, чтобы пользователь знает, что его выбрали. В форме submit ваши POST-данные просто содержат строку с разделителями-запятыми этих имен тегов. Одну и ту же библиотеку jQuery можно слегка изменить, чтобы отобразить выбранные теги как выбранные путем разбора предварительно сохраненного текста атрибута с помощью функции explode().
Смежные вопросы