Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace SmartOSCBlogBlockPost;
- use MagentoFrameworkApiSearchCriteriaBuilder;
- use MagentoFrameworkApiSortOrder;
- use MagentoFrameworkApiSortOrderBuilder;
- use MagentoFrameworkDataObjectIdentityInterface;
- use MagentoFrameworkViewElementTemplate;
- use SmartOSCBlogApiPostRepositoryInterface;
- use SmartOSCBlogHelperData as BlogHelperData;
- use SmartOSCBlogModelPost;
- use SmartOSCBlogModelResourceModelPostCollectionFactory as PostCollectionFactory;
- use SmartOSCBlogApiCategoryRepositoryInterface;
- class PostList extends Template implements IdentityInterface
- {
- /**
- * @var PostRepositoryInterface
- */
- protected $postRepository;
- /**
- * @var SortOrderBuilder
- */
- protected $sortOrderBuilder;
- /**
- * @var CategoryRepositoryInterface
- */
- protected $categoryRepository;
- /**
- * @var SearchCriteriaBuilder
- */
- protected $searchCriteriaBuilder;
- /**
- * @var BlogHelperData
- */
- protected $blogHelperData;
- /**
- * @var PostCollectionFactory
- */
- protected $collection;
- /**
- * PostList constructor.
- * @param PostRepositoryInterface $postRepository
- * @param SortOrderBuilder $sortOrderBuilder
- * @param SearchCriteriaBuilder $searchCriteriaBuilder
- * @param BlogHelperData $blogHelperData
- * @param TemplateContext $context
- * @param PostCollectionFactory $collection
- * @param array $data
- */
- public function __construct(
- PostRepositoryInterface $postRepository,
- SortOrderBuilder $sortOrderBuilder,
- SearchCriteriaBuilder $searchCriteriaBuilder,
- BlogHelperData $blogHelperData,
- TemplateContext $context,
- PostCollectionFactory $collection,
- array $data = [])
- {
- $this->postRepository = $postRepository;
- $this->sortOrderBuilder = $sortOrderBuilder;
- $this->searchCriteriaBuilder = $searchCriteriaBuilder;
- $this->blogHelperData = $blogHelperData;
- $this->collection = $collection;
- parent::__construct($context, $data);
- }
- public function getIdentities()
- {
- return [Post::CACHE_TAG.'_'.'list'];
- }
- public function getPosts()
- {
- if (!$this->hasData('posts')) {
- $sortOrder = $this->sortOrderBuilder
- ->setField('created_at')
- ->setDirection(SortOrder::SORT_DESC)
- ->create();
- $searchCriteriaBuilder = $this->searchCriteriaBuilder
- ->addSortOrder($sortOrder)
- ->setPageSize(10)
- ->setCurrentPage(1)
- ->create();
- $posts = $this->postRepository
- ->getList($searchCriteriaBuilder)
- ->getItems();
- $this->setData('posts', $posts);
- }
- return $this->getData('posts');
- }
- public function getMediaUrl()
- {
- $mediaUrl = $this->_storeManager->getStore()
- ->getBaseUrl(MagentoFrameworkUrlInterface::URL_TYPE_MEDIA).'blog/image/';
- return $mediaUrl;
- }
- public function getHelperData()
- {
- return $this->blogHelperData;
- }
- /**
- * @return SmartOSCBlogModelResourceModelPostCollection
- */
- public function getAllPostList()
- {
- $collection = $this->collection->create();
- return $collection;
- }
- public function isAsigned($categoryIds){
- $paramCatId = $this->getRequest()->getParam('category');
- $postmodel = $this->collection->create();
- //get model tung bai post
- //lay truong category_id xong expode => array 1 category_id bai post do asign
- //so sanh $paramCatIdd in array 1
- //tra vetrue
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement