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
.이제 내 두 번째 속성은
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
배열 키로 사용됩니다.
** 질문 : 컬렉션에 참여하지 않고이 양식으로 고객 속성을 얻으려면 어떻게해야합니까?
또한 가장 환영받는 것 이외의 다른 솔루션이 있다면 **