Как узнать адрес страницы, на которой размещен баннер?

Как корректно получить URL текущей страницы, на которой размещен баннер, чтобы использовать его в атрибуте "onclick" на указанном вами шаблоне баннера в Magento 2? Как можно избежать проблем с некорректным формированием URL при использовании S_SERVER['REQUEST_URI']?
  • 7 июня 2024 г. 15:04
Ответы на вопрос 1
Для того чтобы получить URL текущей страницы с баннером в Magento 2 и использовать его в атрибуте "onclick" на шаблоне баннера, вам следует использовать следующий метод:

1. В файле шаблона баннера (например, banner.phtml) добавьте следующий код для получения текущего URL:

```php
<?php
use Magento\Framework\App\Request\Http;
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$context = $objectManager->get('Magento\Framework\App\Http\Context');
$request = $objectManager->get('Magento\Framework\App\Request\Http');
$currentUrl = $request->getUriString();
?>
```

2. Далее, в атрибуте "onclick" шаблона баннера вы можете использовать полученный URL следующим образом:

```html
<a href="#" onclick="window.location='<?php echo $currentUrl; ?>';">Кликни здесь</a>
```

Этот способ позволит вам получить корректный URL текущей страницы в Magento 2 и использовать его в атрибуте "onclick" на шаблоне баннера.

Чтобы избежать проблем с некорректным формированием URL при использовании $_SERVER['REQUEST_URI'], рекомендуется использовать способ, описанный выше, с использованием \Magento\Framework\App\Request\Http. Это обеспечит более надежное получение текущего URL в Magento 2.
Похожие вопросы