Magento2 проверьте шаблон, если страница является домашней страницей


Как бы я проверил непосредственно в шаблоне .phtml, если запрашиваемая страница является домашней страницей?

Я хотел бы условно добавить класс в данный контейнер

Author: deroccha, 2016-04-22

2 answers

Если вы проверяете, какая страница является домашней страницей вашего шаблона, то вы неправильно подходите к шаблонам и макету Magento.

Мой подход в целом заключается в том, чтобы создать блок типа ядро/шаблон и добавить его через макет к правильному дескриптору макета.

Более подробную информацию можно найти в этом ответе:

Https://magento.stackexchange.com/a/30562/336

Более глубокое объяснение этого неправильно понятого концепцию можно найти в моем блоге здесь:

Https://blog.philwinkle.com/the-most-misunderstood-concept-in-magento/

Для еще более глубокого погружения в макет Magento прочитайте книгу Алана Шторма на эту тему:

Http://store.pulsestorm.net/products/no-frills-magento-layout

 2
Author: philwinkle, 2017-04-13 12:54:56

Вы можете использовать экземпляр \Magento\Framework\Приложение\Запрос\Http в конструкторе класса. Если вы находитесь в контроллере, вам не нужно этого делать.

Вы уже можете получить к нему доступ следующим образом $request = $this->getRequest()

public function __construct(
    ...
    \Magento\Framework\App\Request\Http $request
) {
    ...
    $this->_request = $request;
}

Затем вы можете проверить, является ли домашняя страница или страница категории или страница продукта такой:

if ($this->_request->getFullActionName() == 'cms_index_index') {
    //you are on the homepage
}
if ($this->_request->getFullActionName() == 'catalog_product_view') {
    //you are on the product page
}
if ($this->_request->getFullActionName() == 'catalog_category_view') {
    //you are on the category page
}

В противном случае напрямую используйте в файле phtml с помощью диспетчера объектов

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$request = $objectManager->get('\Magento\Framework\App\Request\Http');
 2
Author: Baharuni Asif, 2019-12-02 07:50:18