Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Валюта в залежності від мови сторінки


Recommended Posts

Доброго дня.

Є магазин з англійською мовою та USD за замовчуванням. Проте в магазині є і українська /рос мова і сайт досить не погано ранжується в гуглі за укр/рос запитами. За такими посиланнями відкривається укр/рос версія, але валюта залишається USD і вибирати Грн., зрозуміло, ніхто не буде.

Як можна прив'язати валюту до мови сторінки. Таке рішення є для модуля language, але там іде перемикання мови, а тут сторінка завантажується зразу з мовою не "за замовчуванням".

Дякую.

Надіслати
Поділитися на інших сайтах


08.01.2023 в 20:00, pawana сказал:

Доброго дня.

Є магазин з англійською мовою та USD за замовчуванням. Проте в магазині є і українська /рос мова і сайт досить не погано ранжується в гуглі за укр/рос запитами. За такими посиланнями відкривається укр/рос версія, але валюта залишається USD і вибирати Грн., зрозуміло, ніхто не буде.

Як можна прив'язати валюту до мови сторінки. Таке рішення є для модуля language, але там іде перемикання мови, а тут сторінка завантажується зразу з мовою не "за замовчуванням".

Дякую.

Пишите! найду в архиве.

Надіслати
Поділитися на інших сайтах

<?xml version="1.0"?>
<modification>
	<name>switch currency with language</name>
	<code>switch_currency_with_language</code>
	<version>3.0.1</version>
	<author>slasoft</author>
	
	<file path="catalog/controller/common/language.php">		
		<operation>
			<search><![CDATA[$this->session->data['language'] = $this->request->post['code'];]]></search>
			<add position="before"><![CDATA[
			$config_currency_languge = $this->config->get('module_slasoft_currency_with_language');
			if ($config_currency_languge) {
				if (isset($config_currency_languge[$this->request->post['code']]) && $config_currency_languge[$this->request->post['code']]) {
					$this->session->data['currency'] = $config_currency_languge[$this->request->post['code']];
				}
			}
			]]></add>
		</operation>
	</file>
</modification>

Сколько строчек?

Надіслати
Поділитися на інших сайтах

В 08.01.2023 в 23:40, PaulKravchenko сказав:

Цей модуль вміє: 

Так, дякую, він у мене є, намагався налаштувати рази 3-4 за весь час, але жодного разу в мене нормально не запрацював. Навіть Марк колись налаштовував і теж глючило :)

В 09.01.2023 в 00:05, chukcha сказав:

Пишите! найду в архиве.

Знайдіть, будь ласка!
 

В 09.01.2023 в 01:16, chukcha сказав:

Сколько строчек?

Це мод для модуля, чи шаблон за яким просто зробити свій мод?

Надіслати
Поділитися на інших сайтах


09.01.2023 в 11:51, pawana сказал:

Так, дякую, він у мене є, намагався налаштувати рази 3-4 за весь час, але жодного разу в мене нормально не запрацював. Навіть Марк колись налаштовував і теж глючило :)

Знайдіть, будь ласка!
 

Це мод для модуля, чи шаблон за яким просто зробити свій мод?

це базовий ocmod від модуля (адмінка потрібна для налаштувань)
 

Надіслати
Поділитися на інших сайтах

В 09.01.2023 в 23:31, markimax сказав:

del

П.С. Марк, те, що я написав вище, жодним чином не є звинуваченням в чомусь вашого модуля чи вас.  Це було про мою особисту історію. А ваш модуль дійсно працює на сотнях магазинів абсолютно нормально.

Надіслати
Поділитися на інших сайтах


  • 4 weeks later...

Підкажіть, будь ласка: 
 

в /catalog/controller/startup.php

 

додаю такий код:


if ($this->session->get('config_language_id') == "en" || $this->session->get('config_language_id') == "en-gb") {
            $this->session->data['currency'] = 'USD';
            $code = 'USD';

} else {
            $this->session->data['currency'] = 'UAH';
            $code = 'UAH';

}

Але сайт не запускається. Що я роблю не так?

Ідея в тому, що коли сайт відкривається на англійській мові, то валюта USD, а на любій іншій - UAH.

Надіслати
Поділитися на інших сайтах


if (($this->session->get('config_language_id') == "en" || $this->session->get('config_language_id') == "en-gb")) {
            $this->session->data['currency'] = 'USD';
            $code = 'USD';

} else {
            $this->session->data['currency'] = 'UAH';
            $code = 'UAH';

}

Надіслати
Поділитися на інших сайтах

В 03.02.2023 в 18:25, chukcha сказав:

if ($this->config->get('config_language_id') == "АЙДИ en") {

Дякую! То я вже намудрив :).

 

Я ж так розумію, що мені не з конфіга треба брати, а з сесії, тобто мову, на якій сайт відкрився.

 

Зробив так:

if ($this->session->data['language'] == "en") {
            $this->session->data['currency'] = 'USD';
            $code = 'USD';
        } else {
            $this->session->data['currency'] = 'UAH';
            $code = 'UAH';
}

 

Ну, сайт-то, зрозуміло працює, але відкривається все одно з валютою за замовченням і перестав працювати перемикач валют :)

Надіслати
Поділитися на інших сайтах


03.02.2023 в 19:11, pawana сказал:

і перестав працювати перемикач валют

тому що мова!!!
Там треба щось інше

Надіслати
Поділитися на інших сайтах

Те, що ви просите - є не "валюта в залежності від мови сторінки", а "валюта за замовчуванням в залежності від мови браузера". 

Головна ваша проблема - коректне написання задачі. 

Тут люди вам написали саме те рішення, яке ви вказали - пряма залежність валюти від мови. Тобто, щоб змінити валюту - тепер треба змінити мову.

 

Надіслати
Поділитися на інших сайтах


В 03.02.2023 в 20:30, chukcha сказав:

Там треба щось інше

Я правда не розумію взаємозв'язку. startup.php викликається при завантаженні/перезавантаженні. Я (в теорії) встановлюю вручну валюту для мови, що встановлена для цієї сесії раніше в тому ж файлі. Але мїй мод не спрацьовує. Або далі валюта десь змінюється ще раз. Я правда, вже не розумію.
 

В 03.02.2023 в 22:37, vladi4ak12 сказав:

Те, що ви просите

Я прошу допомоги.
 

В 03.02.2023 в 22:37, vladi4ak12 сказав:

Головна ваша проблема - коректне написання задачі. 

Моя головна проблема - відсутність знання php :) 
 

Щодо заголовка - так, заголовок не дуже коректний, це правда. Втім, я описав в пості що саме мені потрібно. Більше того, ця проблема є не тільки в мене, на форумі були схожі питання з коректними заголовками. Ніхто відповідь не дав. 
Тож, якщо Ви знаєте як цю проблему вирішити - напишіть, будь ласка, думаю це буде корисним не тільки для мене - думаю це питання буде у багатьох людей в майбутньому.

 

Змінено користувачем pawana
Надіслати
Поділитися на інших сайтах


  • 5 months later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.