Я створив форму ui_component .
Там, де мені потрібно показати деталі клієнта, Те саме, що редагувати клієнта .
Але я можу показати їх дані з customer_entity
таблиці.
DataProvider.php
public function getData()
{
if (isset($this->loadedData)) {
return $this->loadedData;
}
// {Vendor}\{Module}\Model\GridFactory
// Returns Customer Resource Model
$items = $this->gridFactory->create()->getCollection();
$items->getSelect()->join('customer_entity_text as second', 'main_table.entity_id = second.entity_id');
//print_r($items->getData()); exit;
foreach($items as $contact){
$this->loadedData[$contact->getEntityId()]['contact'] = $contact->getData();
}
return $this->loadedData;
}
Я приєднав
customer_entity_text
таблицю до своєї фабрики, щоб відобразитиstatus
(атрибути клієнта).Тепер атрибут My Second -
file
тип. Це вcustomer_entity_varchar
, по-перше, я думав, що додати ще одне приєднання, але я думаю, що це не найкращий спосіб.
Отже, чи є для цього рішення? Мені потрібно відображати обидва Customer Attribute
у своїй формі.
ui_component
<field name="value">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="label" xsi:type="string">Status</item>
<item name="visible" xsi:type="boolean">true</item>
<item name="dataType" xsi:type="string">text</item>
<item name="formElement" xsi:type="string">input</item>
<item name="source" xsi:type="string">contact</item>
</item>
</argument>
</field>
1). Наведений компонент працює добре для статусу, але не для зображення профілю, що є типом зображення.
<field name="value">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="label" xsi:type="string">Profile Image</item>
<item name="visible" xsi:type="boolean">true</item>
<item name="formElement" xsi:type="string">fileUploader</item>
<item name="uploaderConfig" xsi:type="array">
<item name="url" xsi:type="url" path="path_controller"/>
</item>
</item>
</argument>
</field>
Навіть якщо я видаляю одне поле з такою ж назвою, form element
це, здається, не працює.
Погляньте на field
ім’я, яке призначено value
для статусу .
Якщо я буду використовувати те ж саме для зображення поля , ніж компонент зображення зникне.
Примітка . Я поняття не маю, чому Magento не дозволяє використовувати ім'я як value
.
Тому що я приєднався до колекції, тому я отримую
value
як ключ масиву.
** Питання: Як я можу отримати атрибути клієнтів у цій формі без приєднання до колекції?
Крім того, якщо у вас є інше рішення, ніж більшість, також найкраще вітаються **.