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.