Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.28 KB | None | 0 0
  1. <?xml version="1.0"?>
  2. <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
  3. <preference for="MagentoCatalogWidgetBlockProductProductsList" type="VendorNamespaceBlockProductProductsList" />
  4. </config>
  5.  
  6. <?php
  7. namespace VendorNamespaceBlockProduct;
  8.  
  9. class ProductsList extends MagentoCatalogWidgetBlockProductProductsList
  10. {
  11. protected $_httpContext;
  12.  
  13. public function __construct(
  14. MagentoCatalogBlockProductContext $context,
  15. MagentoCatalogModelResourceModelProductCollectionFactory $productCollectionFactory,
  16. MagentoCatalogModelProductVisibility $catalogProductVisibility,
  17. MagentoFrameworkAppHttpContext $httpContext,
  18. MagentoRuleModelConditionSqlBuilder $sqlBuilder,
  19. MagentoCatalogWidgetModelRule $rule,
  20. MagentoWidgetHelperConditions $conditionsHelper,
  21. array $data = []
  22. ) {
  23. $this->_httpContext = $httpContext;
  24. parent::__construct(
  25. $context,
  26. $productCollectionFactory,
  27. $catalogProductVisibility,
  28. $httpContext,
  29. $sqlBuilder,
  30. $rule,
  31. $conditionsHelper,
  32. $data
  33. );
  34. }
  35.  
  36. protected function _construct()
  37. {
  38. parent::_construct();
  39. // Tested, but does not work
  40. // $this->setTemplate('Vendor_Namespace::product/widget/content/grid.phtml');
  41. }
  42.  
  43. public function isCustomerLoggedIn()
  44. {
  45. return $this->_httpContext->getValue(MagentoCustomerModelContext::CONTEXT_AUTH);
  46. }
  47. }
  48.  
  49. ├── Block
  50. │   └── Product
  51. │   └── ProductsList.php
  52. ├── etc
  53. │   ├── di.xml
  54. │   └── module.xml
  55. ├── registration.php
  56. └── view
  57. └── frontend
  58. └── templates
  59. └── product
  60. └── widget
  61. └── content
  62. └── grid.phtml
  63.  
  64. <?xml version="1.0"?>
  65. <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
  66. <preference for="MagentoCatalogWidgetBlockProductProductsList" type="YOUR_NAMESPACECatalogWidgetBlockProductProductsList" />
  67. </config>
  68.  
  69. <?php
  70.  
  71. namespace YOUR_NAMESPACECatalogWidgetBlockProduct;
  72.  
  73. class ProductsList extends MagentoCatalogWidgetBlockProductProductsList
  74. {
  75. public function myTest()
  76. {
  77. die('Hello World !');
  78. }
  79. }
  80.  
  81. ?>
  82.  
  83. vendor/magento/module-catalog-widget/view/frontend/templates/product/widget/content/grid.phtml
  84.  
  85. print_r(get_class_methods($block));
  86.  
  87. <?xml version="1.0"?>
  88. <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
  89. <preference for="MagentoCatalogWidgetBlockProductProductsList" type="VendorNamespaceBlockProductProductsList" />
  90. </config>
  91.  
  92. <?php
  93.  
  94. namespace YOUR_NAMESPACECatalogWidgetBlockProduct;
  95.  
  96. class ProductsList extends MagentoCatalogWidgetBlockProductProductsList
  97. {
  98. public function customMethod()
  99. {
  100. //do your action here
  101. }
  102. }
  103.  
  104. ?>
  105.  
  106. vendor/magento/module-catalog-widget/view/frontend/templates/product/widget/content/grid.phtml
  107.  
  108. app/code/YOUR_NAMESPACE/CatalogWidget/view/frontend/templates/product/widget/content/grid.phtml
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement