Knoxville
Создатель
- Регистрация
- 14 Авг 2015
- Сообщения
- 30
- Реакции
- 8
- Автор темы
- #1
Столкнулся с данной проблемой:
Цены отображаются в скрытой валюте, если она установлена по-умолчанию.
Опыта работы с php нет.
Набросал решение:
Может есть решения по гениальней?
Цены отображаются в скрытой валюте, если она установлена по-умолчанию.
Опыта работы с php нет.
Набросал решение:
Код:
public function __construct($registry) {
$this->config = $registry->get('config');
$this->db = $registry->get('db');
$this->language = $registry->get('language');
$this->request = $registry->get('request');
$this->session = $registry->get('session');
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "currency");
foreach ($query->rows as $result) {
$this->currencies[$result['code']] = array(
'currency_id' => $result['currency_id'],
'title' => $result['title'],
'symbol_left' => $result['symbol_left'],
'symbol_right' => $result['symbol_right'],
'decimal_place' => $result['decimal_place'],
'value' => $result['value']
);
}
if (isset($this->request->get['currency']) && (array_key_exists($this->request->get['currency'], $this->currencies))) {
$this->set($this->request->get['currency']);
} elseif ((isset($this->session->data['currency'])) && (array_key_exists($this->session->data['currency'], $this->currencies))) {
$this->set($this->session->data['currency']);
} elseif ((isset($this->request->cookie['currency'])) && (array_key_exists($this->request->cookie['currency'], $this->currencies))) {
$this->set($this->request->cookie['currency']);
} else {
$this->set($this->config->get('config_currency'));
}
}
Код:
public function __construct($registry) {
$this->config = $registry->get('config');
$this->db = $registry->get('db');
$this->language = $registry->get('language');
$this->request = $registry->get('request');
$this->session = $registry->get('session');
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "currency c where c.status = 1");
foreach ($query->rows as $result) {
$this->currencies[$result['code']] = array(
'currency_id' => $result['currency_id'],
'title' => $result['title'],
'symbol_left' => $result['symbol_left'],
'symbol_right' => $result['symbol_right'],
'decimal_place' => $result['decimal_place'],
'value' => $result['value']
);
}
if (isset($this->request->get['currency']) && (array_key_exists($this->request->get['currency'], $this->currencies))) {
$this->set($this->request->get['currency']);
} elseif ((isset($this->session->data['currency'])) && (array_key_exists($this->session->data['currency'], $this->currencies))) {
$this->set($this->session->data['currency']);
} elseif ((isset($this->request->cookie['currency'])) && (array_key_exists($this->request->cookie['currency'], $this->currencies))) {
$this->set($this->request->cookie['currency']);
} elseif ((empty($this->currencies)) || (array_key_exists($this->config->get('config_currency'), $this->currencies))) {
$this->set($this->config->get('config_currency'));
} else {
reset($this->currencies);
$this->set(key($this->currencies));
}
}
Может есть решения по гениальней?