Magento 2.1: Как получить переопределенные атрибуты продукта LayoutProcessor.php


Я хочу скрыть регион "Почтовый индекс" в блоке сводки на странице корзины.Я переписал файл блока LayoutProcessor.php . В этом файле, если бы я скрыл следующую часть от процесса функции, я смог бы скрыть "Почтовый индекс/Почтовый индекс".

'postcode' => [
            'visible' => true,
            'formElement' => 'input',
            'label' => __('Zip/Postal Code'),
            'value' => null
        ]

Я хочу проверить атрибуты товаров в корзине. Если какой-либо из продуктов имеет значение атрибута "Нет", скройте "Почтовый индекс" и вместо этого покажите сообщение об ошибке. Как я могу добавить состояние в LayoutProcessor.php чтобы скрыть то же самое на основе атрибутов товаров в корзине.

Author: sreelakshmi, 2017-02-27

1 answers

Добавьте в функцию следующие строки. Данные $CARTDATA предоставят вам продукты

    $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
    $productObject = $objectManager->create('Magento\Catalog\Model\Product');
    $cartObject = $objectManager->create('Magento\Checkout\Model\Cart');
    $cartData = $cartObject->getQuote()->getAllItems();

Затем, пожалуйста, просмотрите данные $CARTDATA и используйте следующий код в цикле

foreach ($cartData as $item) {
        $product = $productObject->load($item->getProduct()->getId());
        $attr = $product->getAttributeText('attribute_you_want') ;
        /*conditions u need*/
}

Добавьте условие "если", чтобы скрыть нужную вам деталь.

 0
Author: sreelakshmi, 2017-02-27 13:33:53