Tôi đang cố gắng hiển thị URL hiện tại từ PHTML trong Magento 2.
Bất kì lời đề nghị nào?
Tôi đang cố gắng hiển thị URL hiện tại từ PHTML trong Magento 2.
Bất kì lời đề nghị nào?
Câu trả lời:
Nó làm việc cho tôi
$this->getUrl('*/*/*', ['_current' => true, '_use_rewrite' => true])
Ngoài ra thay vì $ này, bạn có thể sử dụng $ block.
Để làm như vậy, bạn sẽ cần sử dụng một khối tùy chỉnh từ một mô-đun và làm như sau:
Trong Magento 2, bạn có thể sử dụng \Magento\Store\Model\StoreManagerInterface
được lưu trữ trong một biến truy cập $_storeManager
cho mỗi lớp kéo dài \Magento\Framework\View\Element\Template
nên hầu hết các lớp khối ( Template
, Messages
, Redirect
loại khối nhưng không Text
cũng không TextList
).
Bằng cách này trong khối của bạn, bạn có thể tạo phương thức sau để nhận URL hiện tại:
public function getCurrentUrl() {
return $this->_storeManager->getStore()->getCurrentUrl();
}
Sau khi hoàn thành, bạn có thể gọi như sau trong mẫu của mình:
$block->getCurrentUrl();
$block->getRequest()->getUriString();