Magento 2: come posso nascondere una colonna da una griglia di amministrazione?


Risposte:


3

Puoi provare con <item name="componentDisabled" xsi:type="boolean">true</item>

Per esempio:

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>

Grazie @Khoa, ma voglio visualizzare la colonna in base alle autorizzazioni dell'utente, quindi voglio la colonna lì, ma per iniziare nascosta.
— dbcn,

3

utilizzare <item name="visible" xsi:type="boolean">false</item> nel nodo config dell'argomento dati durante la dichiarazione di colonna

per esempio.

<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>

l'unico problema che il filtro non mostrerà fino a quando non ritorni la colonna su visibile


Grazie @Mammouth, ma sembra un'impostazione di configurazione: voglio essere in grado di cambiare la visibilità in base al ruolo degli utenti, quindi dovrei controllarlo nel codice.
— dbcn,

acl non è stato creato per questo ... ma per imitare qualcosa di simile basta estendere / sovrascrivere Magento_Ui/view/base/web/js/grid/columns/column.jscon la propria logica aziendale
— Mammouth,

altrimenti penso che sarebbe bene aprire un nuovo thread al tuo problema attuale (nascondere la colonna in base alle impostazioni del ruolo utente), perché questo è già stato risolto
— Mammouth,

@Mammouth, ma il filtro dovrebbe essere visibile, solo noi possiamo nasconderci dalla colonna?
— jafar pinjar,

1

Aggiungi sotto il codice nel tuo ui xml per rimuovere le colonne

<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>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.