Magento 2: Bagaimana cara menyembunyikan kolom dari kisi admin?

Jawaban:

3

Anda bisa mencobanya <item name="componentDisabled" xsi:type="boolean">true</item>

Sebagai contoh:

Vendor/Module/view/adminhtml/ui_component/product_form.xml

<field name="backorders">
    <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="componentDisabled" xsi:type="boolean">true</item>
            </item>
    </argument>
</field>
Khoa TruongDinh
sumber
Terima kasih @Khoa, tapi saya ingin menampilkan kolom tergantung pada izin pengguna, jadi saya ingin kolom di sana, tetapi untuk mulai disembunyikan.
dbcn
3

gunakan <item name="visible" xsi:type="boolean">false</item> di node config argumen data saat mendeklarasikan kolom

misalnya.

<column name="created_at">
    <argument name="data" xsi:type="array">
        <item name="config" xsi:type="array">
            <item name="resizeEnabled" xsi:type="boolean">false</item>
            <item name="filter" xsi:type="string">dateRange</item>
            <item name="sorting" xsi:type="string">desc</item>
            <item name="label" xsi:type="string" translate="true">Created at</item>
            <item name="sortOrder" xsi:type="number">120</item>
            <item name="visible" xsi:type="boolean">false</item>
        </item>
    </argument>
</column>

satu-satunya masalah yang tidak akan ditampilkan oleh filter hingga Anda mengganti kolom menjadi terlihat

Mammouth
sumber
Terima kasih @Mammouth, tetapi ini terlihat seperti pengaturan konfigurasi - Saya ingin dapat mengubah visibilitas berdasarkan peran pengguna, jadi harus memeriksanya dalam kode.
dbcn
acl tidak dibuat untuk ini ... tetapi untuk meniru sesuatu yang serupa hanya memperpanjang / menimpa Magento_Ui/view/base/web/js/grid/columns/column.jsdengan logika bisnis Anda
Mammouth
otehrwise Saya pikir akan lebih baik untuk membuka utas baru untuk masalah Anda saat ini (menyembunyikan kolom dengan pengaturan peran pengguna), karena yang ini sudah terpecahkan
Mammouth
@Mammouth, Tapi filternya akan terlihat, hanya bisakah kita sembunyikan dari kolom?
jafar pinjar
1

Tambahkan kode di bawah ini di ui xml Anda untuk menghapus kolom

<column name="name_of_column">
          <argument name="data" xsi:type="array">
               <item name="config" xsi:type="array">
               <item name="componentDisabled" xsi:type="boolean">true</item>
           </item>
      </argument>
</column>
<field name="name_of_column">
          <argument name="data" xsi:type="array">
               <item name="config" xsi:type="array">
               <item name="componentDisabled" xsi:type="boolean">true</item>
           </item>
      </argument>
</field>
Arvind Hathiya
sumber