Как да премахнете първоначалната празна стойност за падащ атрибут в Magento?

Използвам Magento версия 1.5.1.0. Добавих атрибут със следните опции, избрани в раздела Свойства:

Catalog input type for store owner: dropdown
Unique value: no
Values required: no

След това отидох в раздела Управление на етикет/Опции и добавих 3 различни опции, като избрах първата опция по подразбиране. Добавих го към набор от атрибути и когато отида да въведа продукт, виждам падащото меню, но с празна стойност на опция, добавена към него:

<select>
<option selected="selected"></option>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
</select>

Когато запазя продукта, празната опция все още остава избрана. Как да премахна тази празна опция и да направя Опция 1 по подразбиране за всички мои съществуващи продукти, без да прибягвам до използване на JS или редактиране на каквито и да било файлове?


person danronmoon    schedule 24.07.2012    source източник
comment
Ще бъде полезно за всички, ако можете да обясните защо сте гласували против.   -  person Sturm    schedule 24.07.2012
comment
Здравейте, знам, че това е стар въпрос, но в Magento 1.9 все още се случва. Проблемът не е в рисуването на html, защото масивът с опции има празна стойност. Подобно на това: array(2) { [0]=› array(2) { [label]=› string(0) [value]=› string(0) } [1]=› array(2) { [value] =› string(1) 8 [label]=› string(15) blablablabla } } В моя случай това се случва с атрибути на продукта във фронтенда.   -  person Xus    schedule 21.07.2015


Отговори (2)


Мисля, че това може да помогне.

Когато извиквате getAllOptions, трябва да подадете false.

->getAllOptions(false)

Падащо меню на атрибути на Magento с първа празна стойност

person Xus    schedule 21.07.2015
comment
Хей, предложението ти проработи за мен, аз също гласувах за него. но мога ли да знам какво е значението на FALSE? само за мое знание. Ако премина false, тогава какво точно ще се случи? Много благодаря - person Manthan Dave; 30.11.2016

<select name="history[status]" class="select" id="history_status">
     <option value="pending" selected="selected">Pending</option>
     <option value="canceled">Canceled</option>
     <option value="processing">Processing</option>
</select>

Опитайте да използвате маркера SELECT вместо опцията за този блок. Тук по-горе имам пример, взет от магазин на Magento. Вашият:

<option selected="selected></option>

Е точно така. Опция, а не дефиниране на поле за избор.

person Sturm    schedule 24.07.2012
comment
Редактирах въпроса си за по-голяма яснота. Проблемът е, че никога не съм добавял празна стойност към списъка с опции. Искам да направя всичко това в бекенда и без никакво маркиране или скриптове, ако е възможно. В момента използвам JS, защото времето не е на моя страна, но ако някой знае какво пропускам, ще ми помогне много. - person danronmoon; 25.07.2012
comment
Пропуснах коментара ти изглежда, ще го прегледам сутринта, когато съм по-отпочинала. - person Sturm; 27.07.2012