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>

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


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>
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.