Sidebar.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. /**
  7. * Wishlist sidebar block
  8. */
  9. namespace Magento\Wishlist\Block\Customer;
  10. use Magento\Catalog\Model\Product;
  11. use Magento\Framework\Pricing\Render;
  12. /**
  13. * @api
  14. * @since 100.0.2
  15. */
  16. class Sidebar extends \Magento\Wishlist\Block\AbstractBlock
  17. {
  18. /**
  19. * Retrieve block title
  20. *
  21. * @return \Magento\Framework\Phrase
  22. */
  23. public function getTitle()
  24. {
  25. return __('My Wish List');
  26. }
  27. /**
  28. * Return HTML block content
  29. *
  30. * @param Product $product
  31. * @param string $priceType
  32. * @param string $renderZone
  33. * @param array $arguments
  34. * @return string
  35. * @since 100.1.0
  36. */
  37. public function getProductPriceHtml(
  38. Product $product,
  39. $priceType,
  40. $renderZone = Render::ZONE_ITEM_LIST,
  41. array $arguments = []
  42. ) {
  43. if (!isset($arguments['zone'])) {
  44. $arguments['zone'] = $renderZone;
  45. }
  46. $price = '';
  47. $priceRender = $this->getPriceRender();
  48. if ($priceRender) {
  49. $price = $priceRender->render($priceType, $product, $arguments);
  50. }
  51. return $price;
  52. }
  53. /**
  54. * Get price render block
  55. *
  56. * @return Render
  57. */
  58. private function getPriceRender()
  59. {
  60. /** @var Render $priceRender */
  61. $priceRender = $this->getLayout()->getBlock('product.price.render.default');
  62. if (!$priceRender) {
  63. $priceRender = $this->getLayout()->createBlock(
  64. \Magento\Framework\Pricing\Render::class,
  65. 'product.price.render.default',
  66. [
  67. 'data' => [
  68. 'price_render_handle' => 'catalog_product_prices',
  69. ],
  70. ]
  71. );
  72. }
  73. return $priceRender;
  74. }
  75. }