Рейтинг:0

Как получить значение поля варианта продукта (не атрибута)?

флаг au

Я создал вариант продукта с 1 атрибутом (скажем, "План подписки" или attribute_sub_plan) и 1 поле (например, "Количество выпусков" или field_num_issues). Атрибут был предназначен для удобочитаемости, а поле было целым числом для внутреннего использования.

Атрибут был добавлен в тип вариации при создании, а поле было добавлено в тип вариации по кнопке «Добавить поле» после создания. Я вижу оба поля в интерфейсе вариантов продукта.

Я могу легко получить значение атрибута следующим образом:

$plan_name = $variation->getAttributeValue('attribute_sub_plan')->getName();

Однако я не могу получить значение поля, как обычно с другими объектами:

$num_issues = $variation->get('field_num_issues')->значение;

На самом деле, я даже не могу получить поле "field_num_issues". Это дает мне эту ошибку:

InvalidArgumentException с сообщением «Поле field_num_issues неизвестно».

У вас есть идеи, как я могу получить значение?

tonytheferg avatar
флаг cn
В вашем коде есть опечатка? В сообщении об ошибке есть один.
флаг au
@тонитеферг; Спасибо. Но нет. Опечатка была только в моем вопросе. Здесь я немного изменил имена полей по сравнению с исходным кодом. В реальном коде я использую копирование и вставку, чтобы убедиться, что я ничего не набрал неправильно.
No Sssweat avatar
флаг ua
`$variation->get($field_name)` допустимо. Так что дважды проверьте имя полевой машины, держу пари, что это неправильно.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.