首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在magento2.1中获取cms页面列表

在magento2.1中获取cms页面列表
EN

Stack Overflow用户
提问于 2016-09-15 07:16:58
回答 2查看 3K关注 0票数 0

我需要在phtml模板文件中获得cms页面列表。

以下代码将在Magento1.9x版本中使用

代码语言:javascript
复制
$results = Mage::getModel('cms/page')->getCollection()
     ->addFieldToFilter(array(
        array('field'=> 'title','like' => "%{$search}%"),
        array('field'=> 'content','like' => "%{$search}%"),
     ))
     ->addFieldToFilter('is_searchable', 1);
  1. 如何在magento2.1中获取cms页面
  2. 需要在cms页面中添加自定义字段。
EN

回答 2

Stack Overflow用户

发布于 2016-09-20 06:14:10

我希望这对你有帮助,

代码语言:javascript
复制
namespace Creare\DynamicSitemap\Block;  
class Dynamicsitemap extends \Magento\Framework\View\Element\Template
{
    protected $_storeManager;

public function __construct(
    \Magento\Backend\Block\Template\Context $context,
    \Magento\Cms\Model\PageFactory $pageFactory,
    \Magento\Store\Model\StoreManagerInterface $storeManager,        
    array $data = []
)
{
    $this->pageFactory = $pageFactory;        
    $this->_storeManager = $storeManager;        
    parent::__construct($context, $data);
}

public function getCreareCMSPages(){
    $this->getStoreId(); // current store id

    $page = $this->pageFactory->create();
    foreach($page->getCollection() as $item)
    {
        echo "page id : ".$item->getId() . ':: page name title : ' . $item->getTitle().'<br/>';
    }
    die();   
    $page = $this->pageFactory->create()->load(1);
    var_dump($page->getData());
}
}
票数 0
EN

Stack Overflow用户

发布于 2016-09-22 14:28:49

将其添加到类构造函数中

代码语言:javascript
复制
protected $pageCollectionFactory;

public function __construct(
    ....
    \Magento\Cms\Model\ResourceModel\Page\CollectionFactory $pageCollectionFactory,
    ...
) {
    ....
    $this->pageCollectionFactory = $pageCollectionFactory;
    ....
}

然后,您可以在类方法中使用此方法。

代码语言:javascript
复制
$collection = $this->pageCollectionFactory->create();
$collection->addFieldToFilter([
        ['field'=> 'title','like' => "%{$search}%"],
        ['field'=> 'content','like' => "%{$search}%",
     ])
     ->addFieldToFilter('is_searchable', 1);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39505102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档