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

[Решено?..] Мультисайт - разные метатеги


 Поделиться

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

Есть 5 сайтов, которые объединяет одна БД. Один из сайтов - главный, если на него залить товар, то он отобразится во всех остальных сайтах.

Проблема состоит в том, что метатеги во всех сайтах получаются одинаковые. 

Можно как-то сделать их разными?

Спасибо.

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


Сделайте под каждый сайт свой язык и пишите сколько вам нужно

Фиг! Тоже так думал и даже сделал. Указал языки по умолчанию на каждый магазин. И в итоге получается - как повезет!

 

Пример:

Интернет магазин постельного белья - основной сайт. Язык по-умолчанию russian.

Постельное белье оптом - мультимагазин. Язык по-умолчанию оптом.

 

Телефоны были разные. И я удивлялся почему часто звонят на оптовый телефон по вопросам розничных цен и только сегодня сам заметил. Зашел на основной сайт, а язык там оптовый. Зашел с другого браузера, язык russian. Вот так незадача! Теперь думаю как исправить.

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


Исправить очень легко.

 

Открываете index.php - там есть детектор языковой локали. Сносите его и пишите свой детектор, который будет жестко привязывать дефолтную локаль согласно вашего субдомена.

Код - элементарный.

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

Также не забываем, что многие системные дополнения требуют отдавать код языка - поэтому для того же яндекс-маркет фида, нужно позаботиться о том чтобы он выдавал код не opt, а ru.

 

И поверьте. проще варианта для реализации просто не существует. Марк не даст соврать.

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

Исправить очень легко.

 

Открываете index.php - там есть детектор языковой локали. Сносите его и пишите свой детектор, который будет жестко привязывать дефолтную локаль согласно вашего субдомена.

Код - элементарный.

Если это просто, то напишите тут. Если не очень, то отпишите, пожалуйста, в личку по-стоимости.

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



// Language Detection

$languages = array();

$query = $db->query("SELECT * FROM " . DB_PREFIX . "language WHERE status = '1'"); 

foreach ($query->rows as $result) {
	$languages[$result['code']] = $result;
}
$code ='ru';


/*
$detect = '';

if (isset($request->server['HTTP_ACCEPT_LANGUAGE']) && ($request->server['HTTP_ACCEPT_LANGUAGE'])) { 
	$browser_languages = explode(',', $request->server['HTTP_ACCEPT_LANGUAGE']);
	
	foreach ($browser_languages as $browser_language) {
		foreach ($languages as $key => $value) {
			if ($value['status']) {
				$locale = explode(',', $value['locale']);

				if (in_array($browser_language, $locale)) {
					$detect = $key;
				}
			}
		}
	}
}

if (isset($session->data['language']) && array_key_exists($session->data['language'], $languages) && $languages[$session->data['language']]['status']) {
	$code = $session->data['language'];
} elseif (isset($request->cookie['language']) && array_key_exists($request->cookie['language'], $languages) && $languages[$request->cookie['language']]['status']) {
	$code = $request->cookie['language'];
} elseif ($detect) {
	$code = $detect;
} else {
	$code = $config->get('config_language');
}

if (!isset($session->data['language']) || $session->data['language'] != $code) {
	$session->data['language'] = $code;
}

if (!isset($request->cookie['language']) || $request->cookie['language'] != $code) {	  
	setcookie('language', $code, time() + 60 * 60 * 24 * 30, '/', $request->server['HTTP_HOST']);
}			
*/

//$code = $config->get('config_language');
//print_r($code);



 

 
$language_id = 2;

if ($config->get('config_store_id') == 1) {
	$language_id = 4;
} 

if ($config->get('config_store_id') == 2) {
	$language_id = 5;
} 



//print_r($languages);


//$config->set('config_language_id', $languages[$code]['language_id']);
$config->set('config_language_id', $language_id);
$config->set('config_language', $languages[$code]['code']);

// Language	
$language = new Language($languages[$code]['directory']);
$language->load($languages[$code]['filename']);	
$registry->set('language', $language); 
	
// Document

Дальше сами. В личку никакой стоимости. Нет никакой возможности за вас это сделать.

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


// Language Detection

$languages = array();

$query = $db->query("SELECT * FROM " . DB_PREFIX . "language WHERE status = '1'"); 

foreach ($query->rows as $result) {
	$languages[$result['code']] = $result;
}
$code ='ru';


/*
$detect = '';

if (isset($request->server['HTTP_ACCEPT_LANGUAGE']) && ($request->server['HTTP_ACCEPT_LANGUAGE'])) { 
	$browser_languages = explode(',', $request->server['HTTP_ACCEPT_LANGUAGE']);
	
	foreach ($browser_languages as $browser_language) {
		foreach ($languages as $key => $value) {
			if ($value['status']) {
				$locale = explode(',', $value['locale']);

				if (in_array($browser_language, $locale)) {
					$detect = $key;
				}
			}
		}
	}
}

if (isset($session->data['language']) && array_key_exists($session->data['language'], $languages) && $languages[$session->data['language']]['status']) {
	$code = $session->data['language'];
} elseif (isset($request->cookie['language']) && array_key_exists($request->cookie['language'], $languages) && $languages[$request->cookie['language']]['status']) {
	$code = $request->cookie['language'];
} elseif ($detect) {
	$code = $detect;
} else {
	$code = $config->get('config_language');
}

if (!isset($session->data['language']) || $session->data['language'] != $code) {
	$session->data['language'] = $code;
}

if (!isset($request->cookie['language']) || $request->cookie['language'] != $code) {	  
	setcookie('language', $code, time() + 60 * 60 * 24 * 30, '/', $request->server['HTTP_HOST']);
}			
*/

//$code = $config->get('config_language');
//print_r($code);



 

 
$language_id = 2;

if ($config->get('config_store_id') == 1) {
	$language_id = 4;
} 

if ($config->get('config_store_id') == 2) {
	$language_id = 5;
} 



//print_r($languages);


//$config->set('config_language_id', $languages[$code]['language_id']);
$config->set('config_language_id', $language_id);
$config->set('config_language', $languages[$code]['code']);

// Language	
$language = new Language($languages[$code]['directory']);
$language->load($languages[$code]['filename']);	
$registry->set('language', $language); 
	
// Document

Дальше сами. В личку никакой стоимости. Нет никакой возможности за вас это сделать.

 

Спасибо! Буду изучать.

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


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

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

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

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