Ở đây, chúng ta sẽ xem cách lấy URL phương tiện trong Magento 2? . Chúng tôi sẽ sử dụng phương pháp tiêm phụ thuộc vì không nên sử dụng trình quản lý đối tượng
Nhận URL phương tiện trong Magento 2
Chúng tôi sẽ sử dụng Phương pháp tiêm phụ thuộc để lấy URL phương tiện trong Magento 2. Để làm điều này, chúng ta sử dụng lớp Block với hàm __construct[] và đưa đối tượng StoreManagerInterface vào hàm tạo
Tạo hàm __construct trong tệp Khối phtml của bạn như bên dưới
public function __construct[\Magento\Store\Model\StoreManagerInterface $storeManager] { $this->_storeManager = $storeManager; }
Nhận URL phương tiện trong tệp phtml
Bây giờ trong tệp phtml của bạn, hãy gọi phương thức bên dưới để lấy URL phương tiện
$mediaUrl = $this ->_storeManager-> getStore[]->getBaseUrl[\Magento\Framework\UrlInterface::URL_TYPE_MEDIA ]; echo $mediaUrl;
Đó là nó cho hướng dẫn này. Nếu bạn có bất kỳ câu hỏi nào liên quan đến Magento, hãy hỏi chuyên gia tư vấn Magento của chúng tôi
Chúng tôi sử dụng cookie để cải thiện trải nghiệm của bạn. Để tuân thủ chỉ thị mới về Quyền riêng tư điện tử, chúng tôi cần xin phép bạn để đặt cookie. Tìm hiểu thêm
- Trang Chủ
- Blog
- Cách nhận url Logo, Url hình ảnh, văn bản thay thế, kích thước Logo trong Magento 2 theo lập trình
Có các bước để lấy url logo, url hình ảnh, văn bản thay thế và kích thước logo trong magento 2
- tạo lớp khối
- Khai báo hàm trong mẫu [. tệp phtml]
Tạo lớp khối
Danh mục
ứng dụng/mã/Tên nhà cung cấp/Tên mô-đun/Khối/Bản trình diễn. php
Nội dung Demo. php
namespace VendorName\ModuleName\Block;
class Demo extends \Magento\Framework\View\Element\Template
{
protected $_logo;public function __construct[
\Magento\Backend\Block\Template\Context $context,
\Magento\Theme\Block\Html\Header\Logo $logo,
array $data = []
]
{
$this->_logo = $logo;
parent::__construct[$context, $data];
}/**
* Get logo image URL
*
* @return string
*/
public function getLogoSrc[]
{
return $this->_logo->getLogoSrc[];
}/**
* Get logo text
*
* @return string
*/
public function getLogoAlt[]
{
return $this->_logo->getLogoAlt[];
}/**
* Get logo width
*
* @return int
*/
public function getLogoWidth[]
{
return $this->_logo->getLogoWidth[];
}/**
* Get logo height
*
* @return int
*/
public function getLogoHeight[]
{
return $this->_logo->getLogoHeight[];
}
}
?>
Khai báo hàm trong mẫu [. tệp phtml]
echo $block->getLogoSrc[] . '
';
echo $block->getLogoAlt[] . '
';
echo $block->getLogoWidth[] . '
';
echo $block->getLogoHeight[] . '
';
Nếu bạn muốn bất kỳ hình thức trợ giúp nào, vui lòng truy cập Dịch vụ phát triển Magento 2 của chúng tôi và nhận Báo giá
Khi chạy cửa hàng Magento 2, sẽ có nhiều tình huống cần hệ thống tự động lấy URL cơ sở hoặc URL hiện tại, ví dụ: tạo URL cho CMS hoặc trang blog hoặc phát triển trang web phát triển
Do đó, Cách lấy url cơ sở và url hiện tại trong Magento 2 là chủ đề tiếp theo Mageplaza hướng dẫn các bạn hôm nay. Hãy làm điều đó bằng cách chạy đoạn mã theo hai bước sau
3 bước để lấy url cơ sở và url hiện tại trong Magento 2
Bước 1. Khai báo trong Mageplaza HelloWorld
Bạn sẽ sử dụng một lớp khối của mô-đun Mageplaza_HelloWorld
, sau đó có thể đưa đối tượng của StoreManagerInterface
và UrlInterface
vào hàm tạo của lớp khối của mô-đun. Bạn sẽ làm việc với hai hàm trong lớp bên dưới.
$mediaUrl = $this ->_storeManager-> getStore[]->getBaseUrl[\Magento\Framework\UrlInterface::URL_TYPE_MEDIA ]; echo $mediaUrl;0 và
$mediaUrl = $this ->_storeManager-> getStore[]->getBaseUrl[\Magento\Framework\UrlInterface::URL_TYPE_MEDIA ]; echo $mediaUrl;1
Trong hàm
$mediaUrl = $this ->_storeManager-> getStore[]->getBaseUrl[\Magento\Framework\UrlInterface::URL_TYPE_MEDIA ]; echo $mediaUrl;
0, bạn sẽ sử dụng đối tượng củaStoreManagerInterface
để lấy url cơ sở và url hiện tạiTrong hàm
$mediaUrl = $this ->_storeManager-> getStore[]->getBaseUrl[\Magento\Framework\UrlInterface::URL_TYPE_MEDIA ]; echo $mediaUrl;
1, bạn sẽ sử dụng đối tượng củaUrlInterface
để lấy cơ sở và url hiện tại
Mở lớp
getUrl['hello/test']; ?>
getBaseUrl[]; ?>
1 và chạy mã_storeManager = $storeManager;
$this->_urlInterface = $urlInterface;
parent::__construct[$context, $data];
}
public function _prepareLayout[]
{
return parent::_prepareLayout[];
}
/**
* Prining URLs using StoreManagerInterface
*/
public function getStoreManagerData[]
{
echo $this->_storeManager->getStore[]->getId[] . '
';
// by default: URL_TYPE_LINK is returned
echo $this->_storeManager->getStore[]->getBaseUrl[] . '
';
echo $this->_storeManager->getStore[]->getBaseUrl[\Magento\Framework\UrlInterface::URL_TYPE_WEB] . '
';
echo $this->_storeManager->getStore[]->getBaseUrl[\Magento\Framework\UrlInterface::URL_TYPE_DIRECT_LINK] . '
';
echo $this->_storeManager->getStore[]->getBaseUrl[\Magento\Framework\UrlInterface::URL_TYPE_MEDIA] . '
';
echo $this->_storeManager->getStore[]->getBaseUrl[\Magento\Framework\UrlInterface::URL_TYPE_STATIC] . '
';
echo $this->_storeManager->getStore[]->getUrl['product/33'] . '
';
echo $this->_storeManager->getStore[]->getCurrentUrl[false] . '
';
echo $this->_storeManager->getStore[]->getBaseMediaDir[] . '
';
echo $this->_storeManager->getStore[]->getBaseStaticDir[] . '
';
}
/**
* Prining URLs using URLInterface
*/
public function getUrlInterfaceData[]
{
echo $this->_urlInterface->getCurrentUrl[] . '
';
echo $this->_urlInterface->getUrl[] . '
';
echo $this->_urlInterface->getUrl['helloworld/general/enabled'] . '
';
echo $this->_urlInterface->getBaseUrl[] . '
';
}
}
?>
Xem thêm chức năng tại
– MAGENTO_ROOT/vendor/magento/module-store/Model/Store. php – MAGENTO_ROOT/nhà cung cấp/magento/framework/Url. php
Bước 2. Nhận URL cơ sở và URL hiện tại trong tệp mẫu
Vui lòng sử dụng đoạn mã sau
getUrl['hello/test']; ?>
getBaseUrl[]; ?>
Bước 3. Xoá Cache và kiểm tra kết quả
Xóa bộ đệm Magento và kiểm tra kết quả của bạn
Đây là hướng dẫn để lấy url cơ sở và url hiện tại trong Magento 2. Nhận URL dựa trên và hiện tại giúp đơn giản hóa công việc cho quản trị viên cửa hàng vì họ không cần tìm và nhập URL đầy đủ khi tạo trang hoặc đính kèm URL ở đâu đó
Hy vọng rằng bạn sẽ thấy bài viết này hữu ích cho dự án của bạn. Nếu bạn có bất kỳ câu hỏi nào về bài viết hoặc bất kỳ câu hỏi nào nói chung, hãy sử dụng phần bình luận bên dưới