Получение значения пользовательского атрибута в magento 2


Я использую magento 2.1.0, я создал пользовательский атрибут клиента и добавил поле на интерфейсе в форме редактирования информации о клиенте.

Когда я ввел какое-либо значение в форме редактирования, оно сохраняется в форме adimn, но не отображается на интерфейсе. означает, что данные не извлекаются на интерфейсе.

Итак, как получить эти данные для отображения на интерфейсе в этом поле:

     <div class="field bloodgroup">
            <label for="bloodgroup" class="label"><span><?php /* @escapeNotVerified */echo __('Blood Group') ?></span></label>
            <select name="bloodgroup" id="bloodgroup">
            <?php                   
            $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
                           $model = $objectManager->create('\xxx\xxx\Model\BGroup')->avialable();
            foreach ($model as $b)
            { 
              ?>                    
            <option value="<?php echo $b['BloodGroup']; ?>"><?php echo $b['BloodGroup']; ?></option>

        <?php }   ?>     

            </select>
    </div>
 3
Author: Teja Bhagavan Kollepara, 2017-02-08

1 answers

Вы должны использовать приведенный ниже код для получения значения атрибута клиента в форме редактирования

<?php if($block->getCustomer()->getCustomAttribute('attribute_code')) {
   echo $block->getCustomer()->getCustomAttribute('attribute_code')->getValue();
}?>

РЕДАКТИРОВАТЬ:

    <?php $selected = '';
   if($block->getCustomer()->getCustomAttribute('attribute_code')) {
           $selected = $block->getCustomer()->getCustomAttribute('attribute_code')->getValue();
        }?>
    <div class="field bloodgroup">
                <label for="bloodgroup" class="label"><span><?php /* @escapeNotVerified */echo __('Blood Group') ?></span></label>
                <select name="bloodgroup" id="bloodgroup">
                <?php                   
                $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
                               $model = $objectManager->create('\xxx\xxx\Model\BGroup')->avialable();
                foreach ($model as $b)
                { 
                  ?>                    
                <option value="<?php echo $b['BloodGroup']; ?>" <?php 
                 if($selected == $b['BloodGroup']){ ?> selected='selected'      <?php} ?> ><?php echo $b['BloodGroup']; ?></option>

            <?php }   ?>     

                </select>
        </div>
 2
Author: Prashant Valanda, 2017-02-08 12:43:02