2016-09-21 2 views
1

Как я могу скрыть «строку фильтра и заголовок gridview» условно в yii2. Я хочу показать строку фильтра gridview на экране ПК, но скрывать на экране смартфона, также скрывать или показывать заголовок gridview на основе вышеуказанных условий. это возможно? Спасибоyii2 gridview hide filter row условно

ответ

3

Я вижу два возможных варианта.

1) Использование CSS и медиа-запросы, например:

@media (min-width: 0px) and (max-width: 767px) { 
    .filter { 
     display: none; 
    } 
} 

Использование рамки как Bootstrap 3 стало еще проще, просто добавить класс hidden-xs (см подробнее в official docs)

Это, очевидно, просто скрывает желаемый блок из представления, но он все еще загружен и существует в DOM.

2) Если вы не хотите генерировать HTML-код, связанный с фильтром, вы можете использовать расширения, такие как Mobile_Detect. Он имеет Yii2 integration.

Пример использования:

<?php if (Yii::$app->devicedetect->isMobile()) { ?> 
    <div class="filter">...</div> 
<?php } ?> 

Выберите в зависимости от ваших потребностей. Поскольку вы хотите также скрыть заголовок GridView, вариант 1 лучше, потому что иначе вам может понадобиться подкласс GridView.

+1

Это сработало. большое спасибо –