Модуль Ubercart Custom Price - считаем цены

Модуль давно не обновляется, поэтому можно наблюдать сопли на drupal.org. Но не всё так плохо и есть луч света, который чётко описывает проблему и способ её решения.

Ubercart претерпел изменения и hook_uc_cart_item, используемый в uc_custom_price, ну никак не мог выполнить заданный пользователем подсчёт.

Ближе к теме.

открыть uc_custom_price.module и найти код:

function uc_custom_price_uc_cart_item($op, $item) { 
switch ($op) { case 'load': $product = node_load($item->nid); 
$code = isset($product->custom_code) ? $product->custom_code : ''; 
if (!empty($code)) { 
$eval_code = token_replace($code, array('product' => 
$product, 'uc_cart_item' => $item)); 
eval($eval_code);
 } 
break; 
}}

заменить на следующий код:

function uc_custom_price_uc_product_alter(&$node) {
$code = isset($node->custom_code) ? $node->custom_code : ''; 
if (!empty($code))
{ /* ваши калькуляции */ }
}}

сохранить.

Спасибо говорим gary.evans: http://drupal.org/node/1823112

Для ленивых скачать модуль: uc_custom_price.zip

Plain text

Target Image