قالب التحقق من Magento2 إذا كانت الصفحة هي الصفحة الرئيسية

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

سؤال

كيف يمكنني التحقق مباشرة من قالب .phtml إذا كانت الصفحة المطلوبة هي الصفحة الرئيسية؟

أرغب في إضافة فئة مشروطة إلى حاوية معينة

هل كانت مفيدة؟

المحلول

إذا كنت تريد التحقق مما الصفحة هي الصفحة الرئيسية من القالب الخاص بك إذا كنت تقترب الماجنتو النموذجيه والتخطيط بشكل غير صحيح.

توجهي عموما هو خلق كتلة من نوع الرئيسية/قالب و أضيف أن عبر تخطيط الصحيح تخطيط التعامل مع.

مزيد من المعلومات يمكن العثور عليها في هذا الجواب:

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

أعمق شرح يساء فهم هذا المفهوم يمكن أن تكون موجودة في بلدي بلوق هنا:

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

حتى الغوص أعمق في الماجنتو تخطيط قراءة آلان العاصفة كتاب عن هذا الموضوع:

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

نصائح أخرى

يمكنك استخدام مثيل \Magento\Framework\App equest\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');
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top