Как я могу получить коллекцию пользовательских модулей в magento 2
Я создал пользовательский модуль: Ashore_Faq
Моя структура модуля такова:
Ashore
└───Faq
│ registration.php
│
├───etc
│ module.xml
│
├───Model
│ │ Custom.php
│ │
│ └───ResourceModel
│ │ Custom.php
│ │
│ └───Custom
│ Collection.php
│
├───Setup
│ InstallSchema.php
│
│
└───view
└───frontend
│___Template
│ Faq
Index.php
├───layout
│ faq_faq_index.xml
│
После создания модуля я написал ниже код, но он не работает.
Ниже приведен код со структурой папок:
/block/Faq/Index.php
<?php
namespace Ashore\Faq\Block\Faq;
use Ashore\Faq\Block\BaseBlock;
class Index extends BaseBlock
{
//public $hello='Hello World';
protected $mymodulemodelFactory;
public function __construct(
\Ashore\Faq\Model\ResourceModel\Custom\CollectionFactory $mymodulemodelFactory,
)
{
$this->mymodulemodelFactory = $mymodulemodelFactory;
}
public function getCollection()
{
$collection = $this->mymodulemodelFactory->create();
return $collection;
}
}
И
Получить структуру папок данных коллекции:
/Просмотр/Интерфейс/Часто задаваемые вопросы по шаблонам.Index.php
echo $block->getCollection();
Но это не работает. После выполнения кода он отображает пустую страницу.
Пожалуйста, предложите решение?
1
Author: Mohit Kumar Arora, 2017-06-23
2 answers
Вы можете получить данные, используя каждую из вашей коллекции,
class Index extends BaseBlock
{
//public $hello='Hello World';
protected $mymodulemodelFactory;
public function __construct(
\Ashore\Faq\Block\Context $context,
\Ashore\Faq\Model\CustomFactory $mymodulemodelFactory
)
{
$this->mymodulemodelFactory = $mymodulemodelFactory;
parent::__construct($context);
}
public function getCollection()
{
$collection = $this->mymodulemodelFactory->create()->getCollection()->addAttributeToSelect('*');
return $collection;
}
}
В файле блока,
$collection = $block->getCollection();
foreach($collection as $moduledata){
echo "<pre>";print_r($moduledata->getData());
}
Удалите папку var и проверьте.
0
Author: Rakesh Jesadiya, 2017-06-23 06:39:05
<?php
namespace Ashore\Faq\Block\Faq;
use Magento\Framework\App\RequestInterface;
use Ashore\Faq\Block\BaseBlock;
use Ashore\Faq\Model\ResourceModel\Custom\CollectionFactory;
class Index extends \Magento\Framework\View\Element\Template
{
protected $mymodulemodelFactory;
protected $request;
public function __construct(
CollectionFactory $mymodulemodelFactory,
\Magento\Catalog\Block\Product\Context $context,
RequestInterface $request,
array $data = []
)
{
parent::__construct($context, $data);
$this->_request = $request;
$this->mymodulemodelFactory = $mymodulemodelFactory;
}
public function getCollection()
{
$collection = $this->mymodulemodelFactory->getCollection();
return $collection;
}
}
Привет @Devidas Я надеюсь, Что Это Сработает Для вас
1
Author: Baharuni Asif, 2020-01-02 12:43:11