Перейти к основному содержимому

Помощник для адаптивного дизайна

Помощник DeviceDetector упрощает реализацию подхода адаптивного дизайна в Pimcore.

Используйте его в любом месте вашего кода

use Pimcore\Tool\DeviceDetector;  
use Symfony\Component\HttpFoundation\Response;

class TestController extends Action
{
public function testAction(): Response
{
$device = DeviceDetector::getInstance();
$device->getDevice(); // возвращает "phone", "tablet" или "desktop"

if($device->isDesktop() || $device->isTablet()) {
// дальнейшая логика
}

// ...
}
}

Принудительная установка типа устройства

Иногда возникает необходимость вручную переключить режим отображения (например, ссылка «Перейти на полную версию сайта» или наоборот).

Для этого добавьте параметр forceDeviceType к вашему запросу:

/your/link?forceDeviceType=desktop  
/another/link?forceDeviceType=tablet
/a/mobile/link?forceDeviceType=phone

Pimcore установит выбранное значение и сохранит его в cookie с названием forceDeviceType. Настройка будет действовать до конца сессии браузера.

Кэширование

Кэш вывода Pimcore знает об этой функции и просто работает так, как ожидалось.

Если вы используете кэширующий прокси-сервер, такой как Varnish, вы должны учитывать значение cookie forceDeviceType при вычислении хэша, в противном случае для разного содержимого URL-адреса (телефона, планшета, рабочего стола) используется единый хэш.


Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.