Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.65 KB | None | 0 0
  1. <?php
  2.  
  3. namespace SmartOSCBlogBlockPost;
  4.  
  5. use MagentoFrameworkApiSearchCriteriaBuilder;
  6. use MagentoFrameworkApiSortOrder;
  7. use MagentoFrameworkApiSortOrderBuilder;
  8. use MagentoFrameworkDataObjectIdentityInterface;
  9. use MagentoFrameworkViewElementTemplate;
  10. use SmartOSCBlogApiPostRepositoryInterface;
  11. use SmartOSCBlogHelperData as BlogHelperData;
  12. use SmartOSCBlogModelPost;
  13. use SmartOSCBlogModelResourceModelPostCollectionFactory as PostCollectionFactory;
  14. use SmartOSCBlogApiCategoryRepositoryInterface;
  15.  
  16. class PostList extends Template implements IdentityInterface
  17. {
  18. /**
  19. * @var PostRepositoryInterface
  20. */
  21. protected $postRepository;
  22.  
  23. /**
  24. * @var SortOrderBuilder
  25. */
  26. protected $sortOrderBuilder;
  27.  
  28. /**
  29. * @var CategoryRepositoryInterface
  30. */
  31. protected $categoryRepository;
  32.  
  33. /**
  34. * @var SearchCriteriaBuilder
  35. */
  36. protected $searchCriteriaBuilder;
  37.  
  38. /**
  39. * @var BlogHelperData
  40. */
  41. protected $blogHelperData;
  42.  
  43. /**
  44. * @var PostCollectionFactory
  45. */
  46. protected $collection;
  47.  
  48. /**
  49. * PostList constructor.
  50. * @param PostRepositoryInterface $postRepository
  51. * @param SortOrderBuilder $sortOrderBuilder
  52. * @param SearchCriteriaBuilder $searchCriteriaBuilder
  53. * @param BlogHelperData $blogHelperData
  54. * @param TemplateContext $context
  55. * @param PostCollectionFactory $collection
  56. * @param array $data
  57. */
  58. public function __construct(
  59. PostRepositoryInterface $postRepository,
  60. SortOrderBuilder $sortOrderBuilder,
  61. SearchCriteriaBuilder $searchCriteriaBuilder,
  62. BlogHelperData $blogHelperData,
  63. TemplateContext $context,
  64. PostCollectionFactory $collection,
  65. array $data = [])
  66. {
  67. $this->postRepository = $postRepository;
  68. $this->sortOrderBuilder = $sortOrderBuilder;
  69. $this->searchCriteriaBuilder = $searchCriteriaBuilder;
  70. $this->blogHelperData = $blogHelperData;
  71. $this->collection = $collection;
  72. parent::__construct($context, $data);
  73. }
  74.  
  75. public function getIdentities()
  76. {
  77. return [Post::CACHE_TAG.'_'.'list'];
  78. }
  79.  
  80. public function getPosts()
  81. {
  82. if (!$this->hasData('posts')) {
  83. $sortOrder = $this->sortOrderBuilder
  84. ->setField('created_at')
  85. ->setDirection(SortOrder::SORT_DESC)
  86. ->create();
  87.  
  88. $searchCriteriaBuilder = $this->searchCriteriaBuilder
  89. ->addSortOrder($sortOrder)
  90. ->setPageSize(10)
  91. ->setCurrentPage(1)
  92. ->create();
  93.  
  94. $posts = $this->postRepository
  95. ->getList($searchCriteriaBuilder)
  96. ->getItems();
  97.  
  98. $this->setData('posts', $posts);
  99. }
  100.  
  101. return $this->getData('posts');
  102. }
  103.  
  104. public function getMediaUrl()
  105. {
  106. $mediaUrl = $this->_storeManager->getStore()
  107. ->getBaseUrl(MagentoFrameworkUrlInterface::URL_TYPE_MEDIA).'blog/image/';
  108. return $mediaUrl;
  109. }
  110.  
  111. public function getHelperData()
  112. {
  113. return $this->blogHelperData;
  114. }
  115.  
  116. /**
  117. * @return SmartOSCBlogModelResourceModelPostCollection
  118. */
  119. public function getAllPostList()
  120. {
  121. $collection = $this->collection->create();
  122.  
  123. return $collection;
  124. }
  125.  
  126. public function isAsigned($categoryIds){
  127. $paramCatId = $this->getRequest()->getParam('category');
  128.  
  129. $postmodel = $this->collection->create();
  130.  
  131. //get model tung bai post
  132. //lay truong category_id xong expode => array 1 category_id bai post do asign
  133. //so sanh $paramCatIdd in array 1
  134. //tra vetrue
  135.  
  136. return true;
  137. }
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement