Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


 Поделиться

Рекомендованные сообщения

Друзья, я буду весьма признателен, если мне подскажут, как вывести через переменную в шаблон текущий 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 год спустя...

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

идете /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 месяца спустя...

Всё вышенаписанное - это хорошо, но вы, фактически, не получаете 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 года спустя...
  • 1 год спустя...
В 03.06.2017 в 03:44, uglevsky сказал:

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

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

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

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

Ссылка на комментарий
Поделиться на других сайтах


  • 1 месяц спустя...
  • 3 месяца спустя...
В 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 года спустя...
В 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 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.