usvam 0 Опубликовано 11 июня, 2013 Жалоба Share Опубликовано 11 июня, 2013 Пытаюсь самостоятельно сделать модуль доставки с выбором на основе модуля дчл, выбор есть, но он не отрабатывается. Что неправильно в коде? Вот код <?php class dostavka { var $code, $title, $description, $icon, $enabled, $types; function dostavka() { global $order; $this->code = 'dostavka'; $this->title = MODULE_SHIPPING_DOSTAVKA_TEXT_TITLE; $this->description = MODULE_SHIPPING_DOSTAVKA_TEXT_DESCRIPTION; $this->sort_order = MODULE_SHIPPING_DOSTAVKA_SORT_ORDER; $this->icon = ''; $this->tax_class = MODULE_SHIPPING_DOSTAVKA_TAX_CLASS; $this->enabled = ((MODULE_SHIPPING_DOSTAVKA_STATUS == 'True') ? true : false); if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_DOSTAVKA_ZONE > 0) ) { $check_flag = false; $check_query = vam_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_DOSTAVKA_ZONE . "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id"); while ($check = vam_db_fetch_array($check_query)) { if ($check['zone_id'] < 1) { $check_flag = true; break; } elseif ($check['zone_id'] == $order->delivery['zone_id']) { $check_flag = true; break; } } if ($check_flag == false) { $this->enabled = false; } }$this->types = array('vl01' => 'EU Express Service', 'vl02' => 'Document Express Service', 'vl03' => 'Start Day Express Service', 'vl04' => 'Mid Day Express Service', 'vl05' => 'Waren Express Service'); } /** * class methods */ function quote($method = '') { global $order; $methods = array(); $methods[] = array('id' => 'vl01', 'title' => 'EU Express Service', 'cost' => MODULE_SHIPPING_DOSTAVKA_TEXT_WAY); $methods[] = array('id' => 'vl02', 'title' => 'Document Express Service'); $methods[] = array('id' => 'vl03', 'title' => 'Start Day Express Service'); $methods[] = array('id' => 'vl04', 'title' => 'Mid Day Express Service'); $methods[] = array('id' => 'vl05', 'title' => 'Start Day Express Service'); $this->quotes = array('id' => $this->code, 'module' => $this->title . ' (' . 444444 . ' x ' . 888888 . ' )'); $this->quotes['methods'] = $methods; if ( (vam_not_null($method)) && (isset($this->types[$method])) ) { for ($i=0; $i<sizeof($methods); $i++) { if ($method == $methods[$i]['id']) { $methodsc = array(); $methodsc[] = array('id' => $methods[$i]['id'], 'title' => $methods[$i]['title'], 'cost' => $methods[$i]['cost']); break; } } $this->quotes['methods'] = $methodsc; } return $this->quotes; } function check() { if (!isset($this->_check)) { $check_query = vam_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_SHIPPING_DOSTAVKA_STATUS'"); $this->_check = vam_db_num_rows($check_query); } return $this->_check; } function install() { vam_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_SHIPPING_DOSTAVKA_STATUS', 'True', '6', '0', '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_SHIPPING_DOSTAVKA_ALLOWED', '', '6', '0', now())"); vam_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_DOSTAVKA_COST', '5.00', '6', '0', now())"); vam_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, use_function, set_function, date_added) values ('MODULE_SHIPPING_DOSTAVKA_TAX_CLASS', '0', '6', '0', 'vam_get_tax_class_title', 'vam_cfg_pull_down_tax_classes(', now())"); vam_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, use_function, set_function, date_added) values ('MODULE_SHIPPING_DOSTAVKA_ZONE', '0', '6', '0', 'vam_get_zone_class_title', 'vam_cfg_pull_down_zone_classes(', now())"); vam_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_DOSTAVKA_SORT_ORDER', '0', '6', '0', now())"); } function remove() { vam_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys() { return array('MODULE_SHIPPING_DOSTAVKA_STATUS', 'MODULE_SHIPPING_DOSTAVKA_COST','MODULE_SHIPPING_DOSTAVKA_ALLOWED', 'MODULE_SHIPPING_DOSTAVKA_TAX_CLASS', 'MODULE_SHIPPING_DOSTAVKA_ZONE', 'MODULE_SHIPPING_DOSTAVKA_SORT_ORDER'); } } ?> Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 июня, 2013 Жалоба Share Опубликовано 11 июня, 2013 Может начать лучше с более простого модуля, например с flat ?! Ссылка на сообщение Поделиться на другие сайты
usvam 0 Опубликовано 11 июня, 2013 Автор Жалоба Share Опубликовано 11 июня, 2013 Может начать лучше с более простого модуля, например с flat ?! С flat уже отработано, там все тип-топ. У меня 150 пунктов самовывоза. Я просто загнусь, а главное - запутаюсь делать 150 клонов flat. Поэтому хочу сделать с возможностью выбора. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 12 июня, 2013 Жалоба Share Опубликовано 12 июня, 2013 Не знаю тогда, конкретный код я Вам не подскажу, к сожалению. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения