Перейти к содержимому


Фото
- - - - -

Свои переменные по условиям на разных доменах

Свои переменные разные домены условие для доменов условие для страниц

  • Чтобы отвечать, сперва войдите на форум
15 ответов в теме

#1 a9i3

a9i3
  • Пользователь
  • 11 сообщений
  • Дизайн, Верстка, Заказчик
  • Версия CMS:1.x

Опубликовано 25.02.2020 - 10:54

Привет! подскажите пожалуйста
 
у меня десяток доменов привязаны к одному движку simpla 
 
я создал такое условие в main.tpl и объявляю свои переменные

 

{if $smarty.server.SERVER_NAME == 'domen-1.ru'}
 {$type1 = 'название-1'}
 {$type2 = 'название-12'}
{elseif $smarty.server.SERVER_NAME == 'domen-2.ru'}
 {$type1 = 'название-2'}
 {$type2 = 'название-22'}
{/if}

и эти переменные четко отрабатывают только на главной т.е. main.tpl

 

как прописать правильно условие 
 
чтобы переменные работали на всех страницах типа domain-1.ru/page1
 
пробовал использовать $page->url, $canonical c оператором "или" 
но у меня чето ничего не выходит. 
 
можете помочь разобраться?

Изменено: a9i3, 25.02.2020 - 10:55


#2 phukortsin

phukortsin
  • Фрилансер
  • 1 039 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 25.02.2020 - 12:20

Эти же условия должны также работать на прочих страницах...



#3 Kosjak76

Kosjak76
  • Модератор
  • 3 851 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 25.02.2020 - 12:23

Файл main.tpl работает ТОЛЬКО на Главной

Перенесите эти условия в index.tpl



#4 a9i3

a9i3
  • Пользователь
  • 11 сообщений
  • Дизайн, Верстка, Заказчик
  • Версия CMS:1.x

Опубликовано 25.02.2020 - 12:30

Эти же условия должны также работать на прочих страницах...

на например на page.tpl шаблоне



#5 Kosjak76

Kosjak76
  • Модератор
  • 3 851 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 25.02.2020 - 12:36

Объясните конкретно, что именно вы хотите?

Если объявить переменные один раз и потом использовать в разных шаблонах - то объявляйте их в index.tpl до вызова {$content}



#6 a9i3

a9i3
  • Пользователь
  • 11 сообщений
  • Дизайн, Верстка, Заказчик
  • Версия CMS:1.x

Опубликовано 25.02.2020 - 13:12

Файл main.tpl работает ТОЛЬКО на Главной

Перенесите эти условия в index.tpl

 

Объясните конкретно, что именно вы хотите?

Если объявить переменные один раз и потом использовать в разных шаблонах - то объявляйте их в index.tpl до вызова {$content}

 

да, я перенес эти условия в index.tpl, переменные отрабатывают только на главной странице. так как в условии стоит привязка только к странице  {if $smarty.server.SERVER_NAME == 'domen-1.ru'}

 

я хочу чтобы переменные отображались и на страницах domen-1.ru/page1, domen-1.ru/page2. 



#7 Kosjak76

Kosjak76
  • Модератор
  • 3 851 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 25.02.2020 - 13:23

Какие глупости вы говорите...

http://prntscr.com/r7by1v

http://demo.simplacm...=TemplatesAdmin

http://prntscr.com/r7bz59

http://demo.simplacms.ru/contact



#8 a9i3

a9i3
  • Пользователь
  • 11 сообщений
  • Дизайн, Верстка, Заказчик
  • Версия CMS:1.x

Опубликовано 25.02.2020 - 13:34

Какие глупости вы говорите...

http://prntscr.com/r7by1v

http://demo.simplacm...=TemplatesAdmin

http://prntscr.com/r7bz59

http://demo.simplacms.ru/contact

 

Вы же выводите просто без условия 

пропишите в index.tpl

{if $smarty.server.SERVER_NAME == 'demo.simplacms.ru'}

{$type = 'Демо'}

{$directory = 'demo'}

{elseif $smarty.server.SERVER_NAME == 'demo2.simplacms.ru'}

{$type = 'Демо2'}

{$directory = 'demo2'}

{else}

{/if}

 и попробуй в main.tpl вывести

{$type}

{$directory}

 

и в page.tpl тоже 



#9 phukortsin

phukortsin
  • Фрилансер
  • 1 039 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 25.02.2020 - 15:43

Надо понимать и учитывать порядок формирования страницы.
Сначала обрабатывается шаблон контента (main.tpl или product.tpl или page.tpl или т.д).  А шаблон index.tpl - после этого.
 
Поэтому:
1. если в main.tpl определить {$type='Демо' scope=global}, а в index.tpl вставить {$type}, то сработает.
2. если же наоборот  в index.tpl определить {$type = 'Демо' scope=global}, а в main.tpl вставить {$type}, то это работать не будет.

Если Вам нужны какие-то общие значения, одинаковые для всех шаблонов контента, то их можно задать в IndexView.php. Так задаются стандартно, например, общие переменные {$cart}, {$categories}.  Действуйте аналогично...
 

Объясните конкретно, что именно вы хотите?
Если объявить переменные один раз и потом использовать в разных шаблонах - то объявляйте их в index.tpl до вызова {$content}

 

А этот совет, ИМХО, совсем неправильный...



#10 Kosjak76

Kosjak76
  • Модератор
  • 3 851 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 25.02.2020 - 15:53

Да, действительно, был неправ



#11 shooroop

shooroop
  • Фрилансер
  • 1 058 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Antarktida

Опубликовано 25.02.2020 - 16:00

один из способов

view.php

 

после

 

self::$view_instance = $this;

 

if($_SERVER['HTTP_HOST'] == 'domain')
				{
				 
				$type1 = 'название-1';
				}
				
				elseif($_SERVER['HTTP_HOST'] == 'domain2')
				{
				$type1 = 'название-2';
				}
	
				$this->design->assign('type1', $type1);



#12 fancy-studio

fancy-studio
  • Пользователь
  • 95 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда::)

Опубликовано 25.02.2020 - 19:21

Привет! подскажите пожалуйста
 
у меня десяток доменов привязаны к одному движку simpla 

 

а как у Вас реализован функционал привязки? все домены смотрят в одну папку?



#13 yr4ik

yr4ik
  • Фрилансер
  • 932 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:Украина Чернигов

Опубликовано 26.02.2020 - 04:14

Советую еще использовать не $smarty.server.SERVER_NAME, а $smarty.server.HTTP_HOST



#14 a9i3

a9i3
  • Пользователь
  • 11 сообщений
  • Дизайн, Верстка, Заказчик
  • Версия CMS:1.x

Опубликовано 26.02.2020 - 08:06

а как у Вас реализован функционал привязки? все домены смотрят в одну папку?

 

Да.


Изменено: a9i3, 26.02.2020 - 08:06


#15 a9i3

a9i3
  • Пользователь
  • 11 сообщений
  • Дизайн, Верстка, Заказчик
  • Версия CMS:1.x

Опубликовано 26.02.2020 - 08:24

один из способов

view.php

 

после

 

self::$view_instance = $this;

 

if($_SERVER['HTTP_HOST'] == 'domain')
				{
				 
				$type1 = 'название-1';
				}
				
				elseif($_SERVER['HTTP_HOST'] == 'domain2')
				{
				$type1 = 'название-2';
				}
	
				$this->design->assign('type1', $type1);

Кажется работает). отпишу как запилю



#16 a9i3

a9i3
  • Пользователь
  • 11 сообщений
  • Дизайн, Верстка, Заказчик
  • Версия CMS:1.x

Опубликовано 26.02.2020 - 10:03

Все работаете! Большее спасибо, выручил!







Также с меткой «Свои переменные, разные домены, условие для доменов, условие для страниц»

0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых