Я пытался обновить свой сайт с opencart 2.2 до версии 3.0.3.1
Для этого я создал копию своего сайта в «песочнице», где все модули и тема были переустановлены в версии 3.0.3.1.
Вся информация из базы данных была передана, и все, кажется, работает как задумано.
Моя единственная проблема связана с расширением комбинации опций, доступным для покупки в opencart, цены, похоже, не работают должным образом с модулями тем журнала 3.
Это означает, что все модули, включенные в тему журнала 3, показывают цену 0, когда продукт использует комбинацию параметров.
Я нашел все файлы контроллера для модулей внутри:
MySite / каталог / контроллер / journal3
и в каждом файле я нашел код, который контролирует отображаемую цену (см. Ниже)
в указанном коде я пытался изменить ($ result ['price'], на ($ result ['initial_from'],
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
if ($this->customer->isLogged() || !$this->config->get('config_customer_price')) {
$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
} else {
$price = false;
}
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ *
это вызывает противоположную проблему: все продукты с комбинацией опций отображают правильную цену, а все те, которые не показывают 0.
текущий сайт настроен так:
показывает customer_group_price (вкладка скидки)
и если вкладка скидки пуста, она показывает otp_customer_price (цена комбинации вариантов)
Я ужасно разбираюсь с кодом, и php, вероятно, мой злейший враг, поэтому, если у кого-то есть необходимость переписать этот код для правильной работы, я был бы очень признателен.