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.