View.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Customer\Helper;
  7. use Magento\Customer\Api\CustomerNameGenerationInterface;
  8. use Magento\Customer\Api\CustomerMetadataInterface;
  9. use Magento\Customer\Api\Data\CustomerInterface;
  10. /**
  11. * Customer helper for view.
  12. */
  13. class View extends \Magento\Framework\App\Helper\AbstractHelper implements CustomerNameGenerationInterface
  14. {
  15. /**
  16. * @var CustomerMetadataInterface
  17. */
  18. protected $_customerMetadataService;
  19. /**
  20. * Initialize dependencies.
  21. *
  22. * @param \Magento\Framework\App\Helper\Context $context
  23. * @param CustomerMetadataInterface $customerMetadataService
  24. */
  25. public function __construct(
  26. \Magento\Framework\App\Helper\Context $context,
  27. CustomerMetadataInterface $customerMetadataService
  28. ) {
  29. $this->_customerMetadataService = $customerMetadataService;
  30. parent::__construct($context);
  31. }
  32. /**
  33. * {@inheritdoc}
  34. */
  35. public function getCustomerName(CustomerInterface $customerData)
  36. {
  37. $name = '';
  38. $prefixMetadata = $this->_customerMetadataService->getAttributeMetadata('prefix');
  39. if ($prefixMetadata->isVisible() && $customerData->getPrefix()) {
  40. $name .= $customerData->getPrefix() . ' ';
  41. }
  42. $name .= $customerData->getFirstname();
  43. $middleNameMetadata = $this->_customerMetadataService->getAttributeMetadata('middlename');
  44. if ($middleNameMetadata->isVisible() && $customerData->getMiddlename()) {
  45. $name .= ' ' . $customerData->getMiddlename();
  46. }
  47. $name .= ' ' . $customerData->getLastname();
  48. $suffixMetadata = $this->_customerMetadataService->getAttributeMetadata('suffix');
  49. if ($suffixMetadata->isVisible() && $customerData->getSuffix()) {
  50. $name .= ' ' . $customerData->getSuffix();
  51. }
  52. return $name;
  53. }
  54. }