ম্যাজেন্টো 2
আমি ম্যাজস্টোর থেকে ডাউনলোড নমুনা ব্যানারস্লাইডার মডিউল ইনস্টল করেছি।
আমি যখন bannerslider.phtml
সিএমএস হোম পৃষ্ঠাতে কল করি তখন এটি হোম পৃষ্ঠায় অবিশ্বাস্য ত্রুটি দেখাচ্ছে।
{{block class="Magento\Bannerslider\Block\Slideshow" template="bannerslider.phtml"}}
ত্রুটি বার্তাটি হ'ল We're sorry, an error has occurred while generating this email.
আমি ব্লক ক্লাসটিও পরিবর্তন করেছি, এখনও এটি একই ত্রুটি দেখাচ্ছে। আপনি দয়া করে আমাকে একটি সঠিক উপায় প্রস্তাব করতে পারেন?
আপনার যদি আরও কোডের বিশদ প্রয়োজন হয় তবে দয়া করে মন্তব্যে আমাকে উল্লেখ করুন। আমি সত্যিই এখানে আটকে আছি।
Uncoment পর 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>