Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Как вывести в переменную текущий url страницы?


Recommended Posts

Друзья, я буду весьма признателен, если мне подскажут, как вывести через переменную в шаблон текущий url страницы.

В шаблоне условие if сравнивает текущий url и искомый - и если они совпадают, то не выводит часть кода шаблона, которая на данной странице является лишней. Возможно идея выглядит квадратно-гнездовой, но очень хочется сделать именно так).

Заранее спасибо Вам за помощь.

Надіслати
Поділитися на інших сайтах


к примеру в продукте получается таким образом

идете /catalog/controller/product/product.php

находите

$this->data['heading_title'] = $product_info['name'];

ниже добавляете

$this->data['hrefs'] = $this->url->link('product/product', $url . '&product_id=' . $this->request->get['product_id']);

в итоге в product.tpl сможете получить переменную $hrefs;

  • +1 2
Надіслати
Поділитися на інших сайтах

к примеру в продукте получается таким образом

идете /catalog/controller/product/product.php

находите

$this->data['heading_title'] = $product_info['name'];

ниже добавляете

$this->data['hrefs'] = $this->url->link('product/product', $url . '&product_id=' . $this->request->get['product_id']);

в итоге в product.tpl сможете получить переменную $hrefs;

Спасибо за подсказку snastik.

А если я хочу получить переменную в шаблоне header.tpl, и не знаю схему, которая задействована. По большому счету, именно текущую схему мне нужно узнать (home, category, product или checkout)?

  • +1 1
Надіслати
Поділитися на інших сайтах


схему я не отлавливал так что ничего сказать не могу

категорию в хидере ловится так как на основании актив категори подсвечивается меню

Надіслати
Поділитися на інших сайтах

  • 1 year later...

к примеру в продукте получается таким образом

идете /catalog/controller/product/product.php

находите

$this->data['heading_title'] = $product_info['name'];
ниже добавляете

$this->data['hrefs'] = $this->url->link('product/product', $url . '&product_id=' . $this->request->get['product_id']);
в итоге в product.tpl сможете получить переменную $hrefs;

 

подскажите, а как можно получить url без названия сайта?

То есть:

catalog/555.html

вместо:

название_сайта/catalog/555.html

 

Надіслати
Поділитися на інших сайтах

  • 4 months later...

Всё вышенаписанное - это хорошо, но вы, фактически, не получаете url, а составляете его сами, вместо обработчика кода. А как же всё-таки получить url текущей страницы?

 

В инете нарыл, что он хранится в переменной opencarta $og_urlurl адрес текущей страницы, значение переменной формируется автоматически (c версии ocStore 1.5.4.1.1)

 

на одном форуме человек даже выложил пример кода с её применением:

 

в *.tpl вставляем:

php code:
  1. <?php echo $og_url; ?>

в *.php вставляем:

php code:
  1. $this->data['og_url'] = (isset($this->request->server['HTTPS']) ? HTTPS_SERVER : HTTP_SERVER) . substr($this->request->server['REQUEST_URI'], 1, (strlen($this->request->server['REQUEST_URI'])-1));

 

но у меня лично эти примеры не заработали... вполне возможно. что у меня просто руки не совсем прямые, но если у кого вышло - дайте знать (желательно пример с запросом и результатом)

 

Сам ещё нарыл массив $this->url, но как достучаться до отдельного элемента, не знаю....

 

В общем, хелп кто может=))

  • +1 2
Надіслати
Поділитися на інших сайтах

А зачем чего-то вставлять? 

 

Стандартный header.tpl уже формирует  в <head> html-страницы строку 

<meta property="og:url" content="http://имя_сайта/index.php?route=common/home" />

Формирует строкой 

<meta property="og:url" content="<?php echo $og_url; ?>" />

Просто берите его оттуда.

 

 

 

ЗЫ: у меня версия OC 1.5.5.1.2

Надіслати
Поділитися на інших сайтах


JS

 

window.location

Получает/устанавливает URL окна и его компоненты

 

Следующий ... :)

Надіслати
Поділитися на інших сайтах

<?php
$where_i_am = $_SERVER["REQUEST_URI"];
echo ​$where_i_am;
?>

*echo - это чтобы посмотреть, то ли это, что вас интересует. Потом echo можно закомментить.

Переменную ​$where_i_am можно разбить на составляющие любым удобным способом.

Разбираете строку на нужные части, присваиваете переменные каждой интересующей части.

Функций и методов разбора полно - выбирайте любой, какой больше по нраву. Проще всего разбить по "/"

Надіслати
Поділитися на інших сайтах


  • 2 years later...
  • 1 year later...
В 03.06.2017 в 03:44, uglevsky сказал:

просто так <?php echo $_SERVER["REQUEST_URI"]; ?> 

за это огромное спасибо.

Или если надо с доменом

<?php echo "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; ?>

Надіслати
Поділитися на інших сайтах


  • 1 month later...
  • 3 months later...
В 26.09.2018 в 01:01, alexzhy сказал:

за это огромное спасибо.

Или если надо с доменом

<?php echo "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; ?>

этот вариант цепляет последовательность символов с ROM и ссылка не открывается. Лучше использовать 

<?php echo "https://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"]; ?>

 

Надіслати
Поділитися на інших сайтах


  • 2 years later...
В 21.12.2014 в 15:23, Verwolf сказал:

Всё вышенаписанное - это хорошо, но вы, фактически, не получаете url, а составляете его сами, вместо обработчика кода. А как же всё-таки получить url текущей страницы?

 

В инете нарыл, что он хранится в переменной opencarta $og_urlurl адрес текущей страницы, значение переменной формируется автоматически (c версии ocStore 1.5.4.1.1)

 

на одном форуме человек даже выложил пример кода с её применением:

 

в *.tpl вставляем:

php code:
  1. <?php echo $og_url; ?>

 

в *.php вставляем:

 

php code:
  1. $this->data['og_url'] = (isset($this->request->server['HTTPS']) ? HTTPS_SERVER : HTTP_SERVER) . substr($this->request->server['REQUEST_URI'], 1, (strlen($this->request->server['REQUEST_URI'])-1));

 

но у меня лично эти примеры не заработали... вполне возможно. что у меня просто руки не совсем прямые, но если у кого вышло - дайте знать (желательно пример с запросом и результатом)

 

Сам ещё нарыл массив $this->url, но как достучаться до отдельного элемента, не знаю....

 

В общем, хелп кто может=))



Сработало для opencart 3


<link rel="alternate" href="{{ og_url }}" hreflang="x-default" />

в итоге получаем рабочий hreflang без модулей

Надіслати
Поділитися на інших сайтах


26 минут назад, alternativea сказал:

в итоге получаем рабочий hreflang без модулей

В итоге получаем бесполезную нерабочую фигню, которая, в лучшем случае(если на сайте только один язык), особого вреда не наносит.
Если вдруг все же захотите понять, почему:
https://developers.google.com/search/docs/advanced/crawling/localized-versions?hl=ru

  • +1 1
Надіслати
Поділитися на інших сайтах


Чтобы не флудить новые темы напишу тут. Думаю данная тема схожа с моим вопросом. Мне нужно узнать переменную страницы оформленного заказа, где все эти "Спасибо", "Мы Вас любим", "Никогда Вас не забудем" (чуть-чуть на правах юмора). Я конечно могу по колхозному, находясь в этом окне, скопировать ссылку в строке браузера.... но что-то мне подсказывает, что это крайне безграмотно и так не работает. Это нужно для настройки целей в Гугл Аналитиксе. Т.е. на эту финальную страницу нужно настроить цель. Буду очень признателен за ответ или ссылочку на тему с обсуждением подобного вопроса. Заранее благодарен

Надіслати
Поділитися на інших сайтах


20 минут назад, Danishevskiy сказал:

Чтобы не флудить новые темы напишу тут. Думаю данная тема схожа с моим вопросом. Мне нужно узнать переменную страницы оформленного заказа, где все эти "Спасибо", "Мы Вас любим", "Никогда Вас не забудем" (чуть-чуть на правах юмора). Я конечно могу по колхозному, находясь в этом окне, скопировать ссылку в строке браузера.... но что-то мне подсказывает, что это крайне безграмотно и так не работает. Это нужно для настройки целей в Гугл Аналитиксе. Т.е. на эту финальную страницу нужно настроить цель. Буду очень признателен за ответ или ссылочку на тему с обсуждением подобного вопроса. Заранее благодарен

по дефолту там domen/success. какую именно переменную вы там ищите не ясно. если в настройках цели действие-оформленный заказ то success вполне достаточно.

если же вам нужен id заказа-то вариантов несколько

Надіслати
Поділитися на інших сайтах


31 минуту назад, Danishevskiy сказал:

Чтобы не флудить новые темы напишу тут. Думаю данная тема схожа с моим вопросом. Мне нужно узнать переменную страницы оформленного заказа, где все эти "Спасибо", "Мы Вас любим", "Никогда Вас не забудем" (чуть-чуть на правах юмора). Я конечно могу по колхозному, находясь в этом окне, скопировать ссылку в строке браузера.... но что-то мне подсказывает, что это крайне безграмотно и так не работает. Это нужно для настройки целей в Гугл Аналитиксе. Т.е. на эту финальную страницу нужно настроить цель. Буду очень признателен за ответ или ссылочку на тему с обсуждением подобного вопроса. Заранее благодарен

image.thumb.png.06ff6d921925fbd86d67ada79b43b1b8.png

вот url страницы завершенного заказа. какую переменную вы тут хотите получить? :))

Надіслати
Поділитися на інших сайтах


Спасибо за ответы. Т.е. так просто? А как же быть со всплывающими окнами? Приведу пример, окно "Быстрый заказ". Там ссылку не сформируешь просто скопировав её из браузера. Откуда берется и как формируется такая ссылка? Если нужно приведу пример. Спасибо

 

 

 

 

 

Змінено користувачем Danishevskiy
Надіслати
Поділитися на інших сайтах


4 часа назад, Danishevskiy сказал:

Спасибо за ответы. Т.е. так просто? А как же быть со всплывающими окнами? Приведу пример, окно "Быстрый заказ". Там ссылку не сформируешь просто скопировав её из браузера. Откуда берется и как формируется такая ссылка? Если нужно приведу пример. Спасибо

 

 

 

 

 

а зачем вам там ссылка? там таргет на события настраивается:))

Надіслати
Поділитися на інших сайтах


4 часа назад, Danishevskiy сказал:

Спасибо за ответы. Т.е. так просто? А как же быть со всплывающими окнами? Приведу пример, окно "Быстрый заказ". Там ссылку не сформируешь просто скопировав её из браузера. Откуда берется и как формируется такая ссылка? Если нужно приведу пример. Спасибо

 

 

 

 

 

да именно просто- вы составляете цель, и конечным итогом выполненой цели идет success

Надіслати
Поділитися на інших сайтах


В 13.08.2021 в 04:40, Shureg сказал:

В итоге получаем бесполезную нерабочую фигню, которая, в лучшем случае(если на сайте только один язык), особого вреда не наносит.
Если вдруг все же захотите понять, почему:
https://developers.google.com/search/docs/advanced/crawling/localized-versions?hl=ru


у меня главная страница переведена на украинский язык. и что бы правильно прописать hreflang, к примеру на странице site.ff/category/ - hreflang  был <link rel="alternate" href="site.ff/category/" hreflang="x-default" />

а не ввел (со всего сайта) на вручную прописанную ссылку (<link rel="alternate" href="
site.ff/" hreflang="x-default" />)

вот почему мне нужен был - {{ og_url }}

Змінено користувачем alternativea
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.