Модуль Живая цена - ошибка 500

Статус
В этой теме нельзя размещать новые ответы.

bimer

Создатель
Регистрация
6 Май 2008
Сообщения
42
Реакции
1
Развернул магазин opencart-3.0.3.2 на локалке. До переноса на хостинг (простым копированием) модуль работал. Сейчас в Расширениях висит Обновление цены при выборе опции - включено (настройки не отображаются на сайте). Включаю в Модификаторах Update Price When Choise Options - захожу в товар и выдает ошибку 500.

В файл htaccess записал
php_value display_errors 1
php_value display_startup_errors 1
php_value error_reporting E_ALL

теперь выдает
Parse error: syntax error, unexpected '}' in W:\domains\storage\modification\catalog\controller\product\product.php on line 372

Отключал все модификаторы и расширения. Регулярно нажимаю кнопки обновления модификаторов и очистка кеша
В шаблон не лазил, в код магазина тоже не лазил

Проверил на хостинге - тоже самое
 
Последнее редактирование:
'}' - ищите откуда берется в модификаторе лишняя скобка. Надите код в product.php on line 372 и проанализируйте какой из модификаторов его туда запихивает.
 
Вопрос решился установкой модуля Для просмотра ссылки Войди или Зарегистрируйся

'}' - ищите откуда берется в модификаторе лишняя скобка. Надите код в product.php on line 372 и проанализируйте какой из модификаторов его туда запихивает.
этот модификатор. Устанавливал его через админку. Как раз он и переписывает код в product.php

Установил заново модуль через админку. Раскомментировал эту сточку в product.php в 371 строке
Код:
// $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']);
и о чудо заработало
Теперь вопрос, что нужно сделать чтобы эта строчка не комментировалась?
 

Вложения

  • [ocmod.net] update-price-by-options_oc3x.ocmod.zip
    12,6 KB · Просмотры: 48
Последнее редактирование модератором:
У вас версия ОпенКарт opencart-3.0.3.2. Версия модификатора что вы устанавливаете <version>2.3</version>. Возможно вы устанавливаете модификатор не тот (если версия модуля совпадает с версией ОпенКарт).

Возможно и в модификаторе ошибка:

<operation info="Show Full Option Price">
<search><![CDATA[
$price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false)
]]></search>
<add position="before"><![CDATA[
$currency_code = $this->session->data['currency'];

// show total amount
if($this->config->get('module_live_options_status') && !$this->config->get('module_live_options_show_options_type')){
$price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax')), $currency_code);
}
else
]]></add>
</operation>

Файл модифицированный будет содержать:
else

$price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']);

Вот скобочки после else нет. Соответственно либо закомментировать else. Либо ставить после else { и и закрывать } скобку снаскоку понять логику модификатора тяжело. Попробуйте закомментировать else.

<operation info="Show Full Option Price">
<search><![CDATA[
$price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false)
]]></search>
<add position="before"><![CDATA[
$currency_code = $this->session->data['currency'];

// show total amount
if($this->config->get('module_live_options_status') && !$this->config->get('module_live_options_show_options_type')){
$price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax')), $currency_code);
}
// else
]]></add>
</operation>
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху