Перейти к содержанию
Andry100500

Ребят, подскажите с условием php

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

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

У меня это сделано на другом сайте (на другой cms) и выглядит таким образом: {if $current_url!=='/page-1.html'} Текст 1{else}Текст 2{/if}

Если вставляю в таком виде в опенкарт, то не срабатывает. Подскажите, как адапитовать его к опенкарту? (если точнее, то ocstore 2.3)

Изменено пользователем Andry100500

Поделиться сообщением


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

Это задача выглядит костылями

Поделиться сообщением


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

@markimax уостыль, не костыль, все равно это условие где-то нужно прописывать

По крайней мере иметь current_url
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
	<? if ($_SERVER['REQUEST_URI'] == "/page-1.html")  { ?>
		Текст 1
		<? }else{ ?>
		Текст 2
	<? } ?> 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
$this->request->get['route'];

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, php сказал:

	<? if ($_SERVER['REQUEST_URI'] == "/page-1.html")  { ?>
		Текст 1
		<? }else{ ?>
		Текст 2
	<? } ?> 

 

будьте любезны тоже самое в твиге!!!

Вот из-за таких умельцев и появился в опенкарте твиг

@markimax вот теперь товарищ действительно принес костыль
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, fanatic сказал:

$this->request->get['route'];

 

э.. а если это надо для категории???

т.е. роутом не оБделаться..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, chukcha сказал:

будьте любезны тоже самое в твиге!!!

2,3 версия какой twig?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, chukcha сказал:

@markimax уостыль, не костыль, все равно это условие где-то нужно прописывать

По крайней мере иметь current_url
 

В контроллере ;)
В tpl - это shit code
Даниэль поэтому и ввел twig в 3.x

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, php сказал:

2,3 версия какой twig?

это не важно

@php Ваш уровень понимания основ MVC и архитектуры опенкарта, несмотря на громкий ник, мне известен..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, chukcha сказал:

т.е. роутом не оБделаться..

path поможет

Поделиться сообщением


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

Ребят, а чем плох вариант?

<? if ($_SERVER['REQUEST_URI'] == "/page-1.html")  { ?>
		Текст 1
		<? }else{ ?>
		Текст 2
	<? } ?> 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, fanatic сказал:

path поможет

не важно что поможет

Важно что нужно делать это в контроллере

или в модели , но не в шаблоне..

но мастера, такие как, @php делают это в шаблоне


 

 

10 минут назад, markimax сказал:

В контроллере

конечно, но мастера, такие как, @php делают это в шаблоне

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
58 минут назад, Andry100500 сказал:

Ребят, а чем плох вариант?


<? if ($_SERVER['REQUEST_URI'] == "/page-1.html")  { ?>
		Текст 1
		<? }else{ ?>
		Текст 2
	<? } ?> 

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

Ни чем

Поделиться сообщением


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

добавляете #reload и по клику событие перезагрузки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
51 минуту назад, chukcha сказал:

не важно что поможет

Важно что нужно делать это в контроллере

или в модели , но не в шаблоне..

100%

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
56 минут назад, php сказал:

Ни чем

Сказал псевдо специалист

 

 

45 минут назад, Andry100500 сказал:

Спасибо!

В Вас, видимо, вызывает  громкий ник "специалиста".. Поверьте, это еще тот г-кодер

Поделиться сообщением


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

У ТС была задача, решить которую он хотел 1) Быстро 2) Бесплатно 3) Чужими руками. Ему подсказали именно такое решение))

 

А когда изменится структура адреса или имена страниц и придется вспоминать что было сделано и в каких файлах, ТС спросит еще раз.

 

Еще возможно со временем ТС внедрит например UTM метки, или будут передаваться какие то иные параметры через URL, тут тоже ожидает сюрприз.

 

Andry100500, об одном прошу - если это первое что вы "внедряете", то хоть не правьте шаблоны напрямую, выносите свои правки например в отдельный файл andry100500.ocmod.xml - потом проще будет.

Поделиться сообщением


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

тогда хотя-бы уже $this->request->server

Поделиться сообщением


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Вы комментируете как гость. Если у вас есть аккаунт, пожалуйста, войдите
Ответить в этой теме...

×   Вы вставили контент с форматированием.   Удалить форматирование

  Разрешено использовать не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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