Magento 2
मैंने Magestore से डाउनलोड किया गया बैनस्लाइडर मॉड्यूल नमूना स्थापित किया है।
जब मैं bannerslider.phtml
CMS होम पेज पर कॉल करता हूं , तो यह होम पेज पर अविश्वसनीय त्रुटि दिखा रहा है।
{{block class="Magento\Bannerslider\Block\Slideshow" template="bannerslider.phtml"}}
त्रुटि संदेश है We're sorry, an error has occurred while generating this email.
मैंने ब्लॉक क्लास को भी बदल दिया, फिर भी यह वही त्रुटि दिखा रहा है। क्या आप कृपया मुझे एक उचित तरीका सुझा सकते हैं?
यदि आपको और अधिक कोड विस्तार की आवश्यकता है, तो कृपया टिप्पणी में मेरा उल्लेख करें। मैं वास्तव में यहां फंस गया हूं।
फ़ाइल त्रुटि संदेश SetEnv MAGE_MODE developer
में असुविधाजनक होने के बाद .htaccess
परिवर्तन और दिखाना
Error filtering template: Invalid block type: Magento\Bannerslider\Block\Slideshow
वैसे इस मॉड्यूल का एडमिन सेक्शन ठीक काम कर रहा है।
ब्लॉक वर्ग
namespace Magento\Bannerslider\Block;
use Magento\Framework\View\Element\Template;
use Magento\Framework\View\Element\Template\Context;
use Magento\Framework\Filesystem;
use Magento\Framework\App\Filesystem\DirectoryList;
class Slideshow extends Template
{
public function __construct(
Context $context,
\Magento\Bannerslider\Model\BannerFactory $bannerFactory,
\Magento\Framework\Filesystem $fileSystem,
\Magento\Framework\StoreManagerInterface $storeManager,
array $data = array()
) {
$this->_fileSystem = $fileSystem;
$this->_bannerFactory = $bannerFactory;
$this->_storeManager = $storeManager;
parent::__construct($context, $data);
}
public function _prepareLayout()
{
return parent::_prepareLayout();
}
public function getBaseJs($fileName){
return $this->_storeManager->getStore()->getBaseUrl(
\Magento\Framework\UrlInterface::URL_TYPE_MEDIA
).'bannerslider/js/'.$fileName;
}
public function getBannerData(){
$banners = $this->_bannerFactory->create()
->getCollection()
->addFieldToFilter('status',1);
foreach ($banners as $banner){
$result['banners'][] = $banner->getData();
}
return $result;
}
public function getBannerImage($imageName) {
$mediaDirectory = $this->_storeManager->getStore()->getBaseUrl(
\Magento\Framework\UrlInterface::URL_TYPE_MEDIA
);
return $mediaDirectory.'bannerslider/images'.$imageName;
}
}
Module.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
<module name="Magento_Bannerslider" setup_version="1.0.0"/>
</config>