Jump to content
Sign in to follow this  
tumtu

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

Recommended Posts

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

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

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

Спасибо.

Share this post


Link to post
Share on other sites

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

  • +1 1

Share this post


Link to post
Share on other sites

Согласен на все 100%

Share this post


Link to post
Share on other sites

Спасибо большое за ответы! Буду пробовать

Share this post


Link to post
Share on other sites

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

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

 

Пример:

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

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

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

Edited by snastik

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

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

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

Share this post


Link to post
Share on other sites

// 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

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

Edited by snastik

Share this post


Link to post
Share on other sites

// 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

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

 

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

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.