tutorial features ecommerce magento magento2

features - magento install



Obtenga la URL de la página actual en Magento 2.0 (2)

Estoy tratando de recuperar la URL de la página actual en un archivo de plantilla, pero no puedo entender cómo hacerlo en Magento 2.0.

¿Alguien sabe cómo conseguirlo? (tenga en cuenta que estoy trabajando en una plantilla / archivo phtml)


No use la instancia del administrador de objetos directamente en los archivos

Con ObjectManager

$urlInterface = /Magento/Framework/App/ObjectManager::getInstance()->get(''Magento/Framework/UrlInterface''); $urlInterface->getCurrentUrl();

Con el método de fábrica

protected $_urlInterface; public function __construct( ... /Magento/Framework/UrlInterface $urlInterface ... ) { $this->_urlInterface = $urlInterface; } public function getUrlInterfaceData() { echo $this->_urlInterface->getCurrentUrl(); echo $this->_urlInterface->getUrl(); echo $this->_urlInterface->getUrl(''test/test2''); echo $this->_urlInterface->getBaseUrl(); }


La solución universal : funciona desde cualquier lugar, no solo desde una plantilla:

/** @var /Magento/Framework/UrlInterface $urlInterface */ $urlInterface = /Magento/Framework/App/ObjectManager::getInstance()->get(''Magento/Framework/UrlInterface''); $urlInterface->getCurrentUrl();

Desde una plantilla, puede simplificarlo : utilizando el método /Magento/Framework/View/Element/AbstractBlock::getUrl() :

$block->getUrl();

Un ejemplo del núcleo: https://github.com/magento/magento2/blob/2.0.0/app/code/Magento/Customer/view/frontend/templates/logout.phtml#L14