قالب التحقق من Magento2 إذا كانت الصفحة هي الصفحة الرئيسية
-
29-09-2020 - |
سؤال
كيف يمكنني التحقق مباشرة من قالب .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');