Magento2 Проверьте шаблон, если страница - это домашняя страница

magento.stackexchange https://magento.stackexchange.com/questions/112176

Вопрос

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

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

Это было полезно?

Решение

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

Мой подход Как правило, состоит в том, чтобы создать BLOCK TYPE CORE / TESHALLA и добавить, что через MALEOUT к правильной обработке .

Больше информации можно найти на этом ответе:

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

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

https://blog.philwinkle.com/the- Самые неправильно понятые - концепция-в-пугантно /

для еще более глубокого погружения в магенто на макете прочитал книгу Буря Алан по теме:

http://store.pulsestorm.net/products/no-frills -Магенто-макет

Другие советы

Вы можете использовать экземпляр \ Magento \ framework \ app \ request \ http в вашем классовом конструкторе.Если вы находитесь в контроллере, вам не нужно это делать.

Вы уже можете получить доступ к этому, как этот генеракодицетагCode

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');
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top