Magento 2: Wie verstecke ich eine Spalte vor einem Admin-Raster?

Antworten:

3

Sie können mit versuchen <item name="componentDisabled" xsi:type="boolean">true</item>

Zum Beispiel:

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
quelle
Danke @Khoa, aber ich möchte die Spalte abhängig von den Berechtigungen des Benutzers anzeigen, also möchte ich die Spalte dort, aber versteckt beginnen.
dbcn
3

Verwendung <item name="visible" xsi:type="boolean">false</item> im Konfigurationsknoten des Datenarguments beim Deklarieren der Spalte

z.B.

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

Das einzige Problem, das der Filter erst anzeigt, wenn Sie die Spalte wieder sichtbar machen

Mammouth
quelle
Vielen Dank an @Mammouth, aber dies sieht nach einer Konfigurationseinstellung aus. Ich möchte die Sichtbarkeit basierend auf der Benutzerrolle ändern können, sodass sie im Code überprüft werden muss.
dbcn
acl wurde nicht dafür erstellt ... aber um etwas Ähnliches nachzuahmen, erweitern / überschreiben Magento_Ui/view/base/web/js/grid/columns/column.jsSie einfach Ihre Geschäftslogik
Mammouth
Ich denke, es wäre gut, einen neuen Thread für Ihr aktuelles Problem zu öffnen (Spalte nach Benutzerrolleneinstellungen ausblenden), da dieser bereits gelöst ist
Mammouth,
@ Mammouth, aber der Filter sollte sichtbar sein, können wir uns nur vor der Spalte verstecken?
Jafar Pinjar
1

Fügen Sie den folgenden Code in Ihre UI-XML ein, um Spalten zu entfernen

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