Помощник для адаптивного дизайна
Помощник 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-адреса (телефона, планшета, рабочего стола) используется единый хэш.
Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.