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
typeです。にあります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>
同じ名前のフィールドを1つ削除しても、form element
機能していないようです。
見てくださいfield
な名前value
のためのステータスを。
画像フィールドに同じものを使用すると、画像コンポーネントが消えます。
注:Magentoがとして名前を使用できない理由はわかりませんvalue
。
私はコレクションに参加しているので
value
、配列キーとして取得しています。
**質問:コレクションに参加せずにこのフォームで顧客属性を取得するにはどうすればよいですか?
また、最も歓迎されている以外の解決策がある場合も**