OpenCart 1.5 - полезные советы
В дополнении pricelist оказался backdoor. См. подробнее.
Выбор языка и валюты
Для автоматического выбора валюты в зависимости от языка, нужно сделать одно из 2 изменений: #7
1. открываем catalog/controller/common/header.php 2. находим: $this->data['title'] = $this->document->getTitle(); 3. Добавляем после: if ($this->config->get('config_language') == 'ru') { $this->currency->set('RUB'); }
Вобще, этого должно быть достаточно. т.е. при русском языке на сайте у нас рубли. То же проделываем с en - USD и прочими - и жизнь прекрасна!
Недостаток - если выбрать USD при переходе на другую страницу снова будут рубли. Поэтому убрал этот код.
Пилим system/library/currency.php Находим:
if (isset($this->request->get['currency']) && (array_key_exists($this->request->get['currency'], $this->currencies))) {
if($this->request->cookie['language'] != "en" && $this->language->get('code') == "en")
$this->set($this->config->get('config_currency'));
if($this->request->cookie['language'] != "ru" && $this->language->get('code') == "ru")
$this->set("UAH");
Т.е. снова, при русском языке будет гривна. Просто реализовано немного по-другому. Оба способа жизнеспособны.
Второй способ не пробовал.
Сделал по инструкции в FAQ и здесь #39
Чтобы при первом заходе на сайт устанавливалась не валюта по умолчанию, а рубли - открываешь файл system\library\currency.php, находишь строку
$this->set($this->config->get('config_currency'));
и меняеш на такую строку
$this->set('RUB');
Если на сайте нет выбора валют то пользователи получившие куки с валютой отличной от рубли не смогут переключиться на рубли и будут видеть цены в валюте прописанной в их куках. Что-бы исправить эту проблему надо в том же файле system\library\currency.php найти строку
$this->set($this->request->cookie['currency']);
и заменить на такую
$this->set('RUB');
После завершения сессии (закрытие браузера или разлогинивание) у пользователей будут цены в рублях.
А если строку
$this->set($this->session->data['currency']);
Округление цен в рублях
#10В файле system.library/currency.php строку
$string .= number_format(round($value,(int)$decimal_place),(int)$decimal_place, $decimal_point, $thousand_point);
заменить на
if ($currency == 'RUB')
{
$string .= number_format(round($value, -2), (int)$decimal_place, $decimal_point, $thousand_point);
}
else
{
$string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point);
}
Если надо округлять не до порядков, то примерно так
до 500 надо так round(($value/5),-2)*5
Модуль Скидка для комплекта [Вместе дешевле] - Полная версия 1.11
Советы по настройке и исправлению проблем
Мне нужно было только добавить таблицу в БД
модуль платный, последняя версия 1.17. Тема поддержки на форуме
Сбросить пароль администратора
В phpmyadmin ввести sql запрос
update oc_user set `password`=md5('yourpassword') where `username`='admin'
Опубликовано