Перейти к содержанию
Официальный форум поддержки Simpla

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

Привет! подскажите пожалуйста
 
у меня десяток доменов привязаны к одному движку 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
Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Файл 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. 

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

 

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

пропишите в 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 тоже 

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

Надо понимать и учитывать порядок формирования страницы.
Сначала обрабатывается шаблон контента (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}

 

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

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

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

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);

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

Привет! подскажите пожалуйста

 

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

 

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

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

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

 

Да.

Изменено пользователем a9i3
Ссылка на сообщение
Поделиться на другие сайты

 

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

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);

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

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

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

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

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

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

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

Загрузка...
×
×
  • Создать...