Magento 2: Как скрыть столбец в сетке администратора?


9

Используя 2.1.3, есть ли способ скрыть весь столбец из сетки администратора компонента пользовательского интерфейса ? Я обнаружил, что Magento2 добавляет класс CSS в столбец сетки пользовательского интерфейса , и это скрывает столбец, но не заголовок столбца (смещение столбцов сетки).

Ответы:


3

Вы можете попробовать с <item name="componentDisabled" xsi:type="boolean">true</item>

Например:

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, но я хочу, чтобы столбец отображался в зависимости от прав пользователя, поэтому я хочу, чтобы столбец был там, но для начала скрыт.
17

3

использовать <item name="visible" xsi:type="boolean">false</item> в узле конфигурации аргумента данных при объявлении столбца

например.

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

единственная проблема, которую фильтр не показывает, пока вы не переключите столбец обратно в видимый


Спасибо @Mammouth, но это похоже на настройку конфигурации - я хочу иметь возможность изменять видимость в зависимости от роли пользователя, поэтому пришлось бы проверять это в коде.
dbcn

acl не был создан для этого ... но для имитации чего-то подобного просто расширьте / переопределите Magento_Ui/view/base/web/js/grid/columns/column.jsсвою бизнес-логику
Mammouth

В противном случае, я думаю, было бы неплохо открыть новый поток для вашей текущей проблемы (скрытие столбца в настройках роли пользователя), потому что этот вопрос уже решен
Mammouth

@Mammouth, а фильтр должен быть виден, только мы можем спрятаться от колонки?
Джафар Пинджар

1

Добавьте приведенный ниже код в ваш пользовательский интерфейс XML, чтобы удалить столбцы

<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>
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.