Перейти к содержанию
Форум поддержки пользователей VamShop

Модуль итого


Рекомендуемые сообщения

Делаю что то на подобие модуля купона, но суть другая (пользователю за покупки начисляются баллы (по сути деньги) и висят у  него на аккаунте)

Хочу сделать что бы он мог поставить "птичку"  под названием "списать с аккаунта"

делаю модуль итого

код:

@ini_set('display_errors', TRUE);
error_reporting(version_compare(PHP_VERSION, 5.3, '>=') ? E_ALL & ~E_DEPRECATED & ~E_NOTICE : version_compare(PHP_VERSION, 6.0, '>=') ? E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_STRICT : E_ALL & ~E_NOTICE);
 
  class ot_balance {
    var $title, $output;

    function ot_balance() {
    	global $vamPrice;
      $this->code = 'ot_balance';
      $this->title = MODULE_ORDER_TOTAL_BALANCE_TITLE;
      $this->description = MODULE_ORDER_TOTAL_BALANCE_DESCRIPTION;
      $this->enabled = ((MODULE_ORDER_TOTAL_BALANCE_STATUS == 'true') ? true : false);
      $this->sort_order = MODULE_ORDER_TOTAL_BALANCE_SORT_ORDER;
      $this->credit_class = true;
	  $this->output = array ();
    }

    function process() {
      global $order, $vamPrice;

	  	$order_total = $order->info['total'];
		$od_amount = $this->calculate_balance($order_total);
		$tod_amount = 0.0; //Fred
		$this->deduction = $od_amount;
	  
		if ($od_amount > 0) {
			$order->info['total'] = $order->info['total'] - $od_amount;
			$order->info['deduction'] = $od_amount;
			$this->output[] = array ('title' => $this->title.': '.$this->name.':', 
			'text' => '<b class="cupon_sale"><font color="ff0000">-'.$vamPrice->Format($od_amount, true).'</font></b>', 
			'value' => $od_amount); //Fred added hyphen
		}
		
    }
	
	function pre_confirmation_check($order_total) {

		return $this->calculate_balance($order_total);
	}
	
	function use_credit_amount() {
		return $output_string;
	}
	
	function calculate_balance($amount) {
		global $order, $vamPrice;

		$od_amount = 0;
		if (isset ($_SESSION['pay_balance']) && $_SESSION['pay_balance'] == true) {
			
					$customers_balance_query_select = "select
					c.customers_balance
					from ".TABLE_CUSTOMERS." c
					where c.customers_id = '".$_SESSION['customer_id']."' ";
					$customers_balance_query = vam_db_query($customers_balance_query_select);
					$customers_balance = vam_db_fetch_array($customers_balance_query);
					
		if ($order_total <= $customers_balance['customers_balance']){
			$od_amount = $order_total;
		}
		
		if ($order_total > $customers_balance['customers_balance']){
			$od_amount = $customers_balance['customers_balance'];
		}
		
		}
		
		if ($od_amount > $amount)
				$od_amount = $amount;
			
		return $od_amount;
	}

	function update_credit_account($i) {
		return false;
	}
	
    function check() {
      if (!isset($this->_check)) {
        $check_query = vam_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_ORDER_TOTAL_BALANCE_STATUS'");
        $this->_check = vam_db_num_rows($check_query);
      }

      return $this->_check;
    }

    function keys() {
      return array('MODULE_ORDER_TOTAL_BALANCE_STATUS', 'MODULE_ORDER_TOTAL_BALANCE_SORT_ORDER');
    }

    function install() {
      vam_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_ORDER_TOTAL_BALANCE_STATUS', 'true', '6', '1','vam_cfg_select_option(array(\'true\', \'false\'), ', now())");
      vam_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_ORDER_TOTAL_BALANCE_SORT_ORDER', '5', '6', '2', now())");
    }

    function remove() {
      vam_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
    }
  }

но на странице оформления выползает 

 

Warning: Missing argument 2 for vam_add_tax(), called in /home/c/ch48565/veloolimp.com/public_html/checkout.php on line 2236 and defined in /home/c/ch48565/veloolimp.com/public_html/inc/vam_add_tax.inc.php on line 18

Warning: Missing argument 2 for vam_add_tax(), called in /home/c/ch48565/veloolimp.com/public_html/checkout.php on line 2236 and defined in /home/c/ch48565/veloolimp.com/public_html/inc/vam_add_tax.inc.php on line 18

Warning: Missing argument 2 for vam_add_tax(), called in /home/c/ch48565/veloolimp.com/public_html/checkout.php on line 2236 and defined in /home/c/ch48565/veloolimp.com/public_html/inc/vam_add_tax.inc.php on line 18

Warning: Missing argument 2 for vam_add_tax(), called in /home/c/ch48565/veloolimp.com/public_html/checkout.php on line 2236 and defined in /home/c/ch48565/veloolimp.com/public_html/inc/vam_add_tax.inc.php on line 18

Warning: Missing argument 2 for vam_add_tax(), called in /home/c/ch48565/veloolimp.com/public_html/checkout.php on line 2236 and defined in /home/c/ch48565/veloolimp.com/public_html/inc/vam_add_tax.inc.php on line 18

 

Все ли Я методы и функции учел, и причем тут vam_add_tax если в  checkout.php он используется для 

$quotes[$i]['methods'][$j]['price_plain']

 

В общем, что Я не учел при создании модуля "итого"? )))

P.S сортировку поставил 90 (что бы после него только итоговая стоимость шла)

Ссылка на сообщение
Поделиться на другие сайты

Так warning - это предупреждение, т.е. выполнение кода не останавливается.

А вообще, написано ведь, что в функции vam_add_tax не указан второй параметр.

Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, VaM сказал:

Так warning - это предупреждение, т.е. выполнение кода не останавливается.

А вообще, написано ведь, что в функции vam_add_tax не указан второй параметр.

действительно. 

В общем код написал. Кому нужен внутренний бонусный счет - пишите

Ссылка на сообщение
Поделиться на другие сайты

А в какой момент начисляются бонусы?

А что будет если клиент вернет товар, как быть с бонусами ?

100% покупки можно оплатить бонусами?

Как управлять сколько бонусов за покупку товара?

 

Ссылка на сообщение
Поделиться на другие сайты
7 часов назад, Nexoos сказал:

А в какой момент начисляются бонусы?

А что будет если клиент вернет товар, как быть с бонусами ?

100% покупки можно оплатить бонусами?

Как управлять сколько бонусов за покупку товара?

 

- Ну Я сделал строго при переводе статутса на "доставлен"

- Бабло пересчитается (либо админы могут в списке пользователя хоть 100000 рублей начислить ему) 

- Можно 100%, можно без стоимости доставки, можно задать какой то лимитирующий процент (это не сложно)

- Я сделал а) по бренду б) сам товар  (у бренда руками сажается в админке), у товара как руками, так и выгрузка. 

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...