Иду по документации.
https://www.drupal.org/documentation/entity-metadata-wrappers
entity_metadata_wrapper
Example of using value(), set() and save()
<?php
$product = getproduct(); // вытаскивается из базы нормально
$product = entity_metadata_wrapper('commerce_product', $product);
$var = 1;
$product->field_number->set($var);
$product->save();
?>
У меня вылетает на методе set.
field_number - это поле, присоединенное к данному типу продукта в коммерце.
Почему set не работает, и как тогда присвоить правильно значение полю?
Комментарии
если это multiple values поле, то нужно
$product->field_number[0]->set($var);
А что нужно сделать чтобы оно не было multiple values?
Вот например я хочу добавить в коммерц поле логическое, что не надо делать, чтобы оно не получилось multiple values?
дампы сейчас посмотрю
Вообщем в итоге, присваивание сработало вот так:
<?php>
$product->field_number[0] = 1;
И вот тут вопросы... почему работает вот так вот, а не так как написано в API?
вот два варианта рабочих, которые описаны в документации
$product = entity_metadata_wrapper('commerce_product', $product);
$var = 1;
$product->field_number[0]->set($var);
$product->save();
$product = entity_metadata_wrapper('commerce_product', $product);
$var = 1;
$product->field_number[0] = $var;
$product->save();