Obtenir l'URL actuelle d'un PHTML - Magento 2

17

J'ai du mal à montrer l'URL actuelle d'un PHTML dans Magento 2.

Toute suggestion?

BrunoBueno
la source

Réponses:

48

Ça marche pour moi

$this->getUrl('*/*/*', ['_current' => true, '_use_rewrite' => true])

Vous pouvez également utiliser $ block à la place $ this.

Ігор Климчук
la source
Fonctionne parfaitement. = D
BrunoBueno
1
cela fonctionne parfaitement. peut-on obtenir l'url sans baseurl?
Magento Learner
7

Pour ce faire, vous devrez utiliser un bloc personnalisé à partir d'un module et procédez comme suit:

Magento 2, vous pouvez utiliser \Magento\Store\Model\StoreManagerInterfacequi est stocké dans une variable accessible $_storeManagerpour toutes les classes étendant \Magento\Framework\View\Element\Templateainsi la plupart des classes de blocs ( Template, Messages, Redirecttypes de blocs , mais non , Textni TextList).

De cette façon, dans votre bloc, vous pouvez créer la méthode suivante pour obtenir l'URL actuelle:

public function getCurrentUrl() {
    return $this->_storeManager->getStore()->getCurrentUrl();
}

Une fois que vous avez fait cela, vous pouvez appeler ce qui suit dans votre modèle:

$block->getCurrentUrl();
Raphael chez Digital Pianism
la source
1
$block->getRequest()->getUriString();
Maks
la source