Magento 2: .phtml फ़ाइल में एक विजेट को कॉल करें


11

मेरे पास एक विजेट है:

{{widget type="Magento\Catalog\Block\Product\Widget\NewWidget" display_type="all_products" products_count="5" template="product/widget/new/content/new_grid.phtml"}}

तो यह CMS ब्लॉक या CMS पेज की सामग्री में काम करता है। मैं इसे एक .phtml फ़ाइल में दिखाना चाहता हूं, मैं इसे कैसे कर सकता हूं?


आप लेआउट xml के बजाय phtml में विजेट जोड़ना क्यों पसंद करते हैं?
पॉल

जवाबों:


12

प्रदर्शन प्रकार के लिए = सभी उत्पाद विजेट

{{widget type="Magento\Catalog\Block\Product\Widget\NewWidget" 
display_type="all_products" products_count="5" template="product/widget/new/content/new_grid.phtml"}}

तथा

<?php echo $this->getLayout()->createBlock("Magento\Catalog\Block\Product\Widget\NewWidget")->setDisplayType("all_products")->setProductsCount("5")->setTemplate("product/widget/new/content/new_grid.phtml")->toHtml(); ?>

प्रदर्शन प्रकार के लिए = नया उत्पाद विजेट

{{widget type="Magento\Catalog\Block\Product\Widget\NewWidget" display_type="new_products" products_count="5" template="product/widget/new/content/new_grid.phtml"}}

तथा

<?php echo $this->getLayout()->createBlock("Magento\Catalog\Block\Product\Widget\NewWidget")->setDisplayType("new_products")->setProductsCount("5")->setTemplate("product/widget/new/content/new_grid.phtml")->toHtml(); ?>

इस Magento 2.1.1 में काम नहीं कर
thdoan

जाँच ठीक इसके काम करता है ठीक
पीजी सुतारिया

1

यदि हम ग्राहक मॉड्यूल पर एक नज़र डालें, उदाहरण के लिए:

विक्रेता / Magento / मॉड्यूल-ग्राहक / देखें / दृश्यपटल / टेम्पलेट्स / प्रपत्र / edit.phtml

<?php $_dob = $block->getLayout()->createBlock('Magento\Customer\Block\Widget\Dob') ?>
<?php if ($_dob->isEnabled()): ?>
    <?php echo $_dob->setDate($block->getCustomer()->getDob())->toHtml() ?>
<?php endif ?>

जैसा कि हम देख सकते हैं, हम सीधे पीएचटीएमएल टेम्पलेट में एक विजेट को कॉल कर सकते हैं: $ ब्लॉक-> getLayout () -> createBlock ('your \ विजेट')


0

निम्न कोड आज़माएं और जांचें कि क्या यह काम करता है:

<?php
    $filter = new Mage_Widget_Model_Template_Filter();
    $_widget = $filter->filter('{{widget type="cms/widget_page_link" template="cms/widget/link/link_block.phtml" page_id="2"}}');
    echo $_widget; 
?>

जहां page_id = "2" मेरा विजेट है, बस आपकी विजेट आईडी बदल दी गई है।



यह सही तरीका यहाँ बताया गया है। .phtml फ़ाइल में विजेट जोड़ने
मैट्रिट मेहरोत्रा

@muditmehrotra नहीं, यह Magento के लिए है 1.
Adrian
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.