هذا - > جيتشيلدتمل على كتلة جديدة خارج ملف القالب
-
12-12-2019 - |
سؤال
أود أن أتصل $this->getChildHtml('product_type_data')
للحصول على سعر المنتج خارج العرض.ملف قالب فتمل.
حاليا لدي echo $this->getChildHtml('product_type_data')
وأن إخراج محتويات ' كتالوج / المنتج / عرض / نوع / الافتراضي.فتمل'.
أحتاج إلى نقله إلى ملف في وحدة نمطية مخصصة(لكمة ثقب ذاكرة التخزين المؤقت) بحيث يتم استدعاؤه بشكل منفصل.حتى في هذا الملف لقد فعلت:
$block = Mage::app()->getLayout()->createBlock('customerprices/catalog_product_view', $this->getId());
$block->setTemplate('catalog/product/view/type/default.phtml');
$block->setIsLoggedIn(Mage::getSingleton('customer/session')->isLoggedIn());
$out = $block->getChildHtml('product_type_data');
ولكن في هذه الحالة out خارج يحتوي على سلسلة فارغة.هل أنا بحاجة إلى تعيين شيء على هذه الكتلة بحيث سيعود أتش تي أم أل السعر?إذا كان الأمر كذلك كيف?لدي كائن $ _ المنتج الحالي إذا كان ذلك مطلوبا.
وسأكون ممتنا أي اقتراحات.
باستخدام ماجى:: جيتبلوكسينجلتون (...)
عندما أستخدم هذا الرمز:
$thatx = Mage::getBlockSingleton('catalog/product_view');
$cnamex = get_class($thatx);
echo 'cname: '.$cnamex;
nam كنامكس لا يحتوي على اسم الفئة (سلسلة فارغة / متغير).أنا نتيجة لا أستطيع تشغيل أي أساليب على ذلك.
المحلول
إذا كنت بحاجة فقط كتلة سعر المنتج ليتم تقديمها يمكنك استخدام مثل هذا:
$out=Mage::getBlockSingleton('catalog/product_view')->getPriceHtml($_product);
انظر getPriceHtml()
طريقة Mage_Catalog_Block_Product_Abstract
وهي فئة الوالدين من Mage_Catalog_Block_Product_View
الطريقة الثانية
تمديد كتلة الخاص بك customerprices/catalog_product_view
من عند Mage_Catalog_Block_Product_Abstract
واستخدامها:
class MyCompany_Customerprices_Catalog_Product_View extends Mage_Catalog_Block_Product_Abstract{
}
و
$block = Mage::app()->getLayout()->createBlock('customerprices/catalog_product_view', $this->getId());
$out=$block->getPriceHtml($_product);