마 젠토 2
Magestore에서 다운로드 한 샘플 Bannerslider 모듈을 설치했습니다.
bannerslider.phtml
CMS 홈 페이지를 호출하면 홈 페이지에 신뢰할 수없는 오류가 표시됩니다.
{{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>
3
SetEnv MAGE_MODE 개발자의 .htaccess 파일에서 오류를 제거해야합니다.
—
Taral Patoliya
타랄 감사합니다. 내가 해냈어 이제 오류 메시지가 변경되었습니다. 지금 내 질문을 편집했습니다.
—
Praful Rajput
블록 클래스와 module.xml 코드를 보여주세요.
—
Amit Bera
게시 할 블록 클래스와 module.xml 코드를 추가했습니다.
—
Praful Rajput
@TaralPatoliya 제안 해 주셔서 감사합니다 ... 정말 도움이되었습니다!
—
DRAJI