Info.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. /**
  3. * Copyright © 2016 Ihor Vansach (ihor@magefan.com). All rights reserved.
  4. * See LICENSE.txt for license details (http://opensource.org/licenses/osl-3.0.php).
  5. *
  6. * Glory to Ukraine! Glory to the heroes!
  7. */
  8. namespace Magefan\Blog\Block\Category;
  9. /**
  10. * Blog category info
  11. */
  12. class Info extends \Magento\Framework\View\Element\Template
  13. {
  14. /**
  15. * @var \Magento\Cms\Model\Template\FilterProvider
  16. */
  17. protected $_filterProvider;
  18. /**
  19. * @var Magento\Framework\Registry
  20. */
  21. protected $_coreRegistry;
  22. /**
  23. * @var \Magefan\Blog\Model\Url
  24. */
  25. protected $_url;
  26. /**
  27. * Construct
  28. *
  29. * @param \Magento\Framework\View\Element\Context $context
  30. * @param \Magento\Framework\Registry $coreRegistry,
  31. * @param \Magento\Cms\Model\Template\FilterProvider $filterProvider
  32. * @param \Magefan\Blog\Model\Url $url
  33. * @param array $data
  34. */
  35. public function __construct(
  36. \Magento\Framework\View\Element\Template\Context $context,
  37. \Magento\Framework\Registry $coreRegistry,
  38. \Magento\Cms\Model\Template\FilterProvider $filterProvider,
  39. \Magefan\Blog\Model\Url $url,
  40. array $data = []
  41. ) {
  42. parent::__construct($context, $data);
  43. $this->_coreRegistry = $coreRegistry;
  44. $this->_filterProvider = $filterProvider;
  45. $this->_url = $url;
  46. }
  47. /**
  48. * Retrieve category instance
  49. *
  50. * @return \Magefan\Blog\Model\Category
  51. */
  52. public function getCategory()
  53. {
  54. return $this->_coreRegistry->registry('current_blog_category');
  55. }
  56. /**
  57. * Retrieve post content
  58. *
  59. * @return string
  60. */
  61. public function getContent()
  62. {
  63. $category = $this->getCategory();
  64. $key = 'filtered_content';
  65. if (!$category->hasData($key)) {
  66. $cotent = $this->_filterProvider->getPageFilter()->filter(
  67. $category->getContent()
  68. );
  69. $category->setData($key, $cotent);
  70. }
  71. return $category->getData($key);
  72. }
  73. }