Nhận URL hiện tại từ PHTML - Magento 2


17

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:


48

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 việc hoàn hảo. = D
— BrunoBueno

1
cái này hoạt động hoàn hảo chúng ta có thể lấy url mà không cần basurl không?
— Học viên Magento

7

Để 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 $_storeManagercho mỗi lớp kéo dài \Magento\Framework\View\Element\Templatenên hầu hết các lớp khối ( Template, Messages, Redirectloại khối nhưng không Textcũ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();

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.