Все доброго времени суток,
вот стараюсь дублировать модуль доставки если я правильно помню это модуль "Бесплатная доставка"
скопировал файлы модуля для админки и для визуальной части, но видимо забыл еще чтото изменить, так как в админке новый модуль ведет себя так как старый (нельзя изменить параметр включен отключен, тоесть есть если стандартный модуль в Состоянии включен то и мой модуль новый тоже будет включен ... )
Прошу помочь мне изменить параметры так чтобы модуль был уникальным ...
Вот код 1: \catalog\model\shipping
<?php
class ModelShippingFreeTwo extends Model {
function getQuote($address) {
$this->load->language('shipping/freetwo');
if ($this->config->get('free_status')) {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('free_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')");
if (!$this->config->get('free_geo_zone_id')) {
$status = TRUE;
} elseif ($query->num_rows) {
$status = TRUE;
} else {
$status = FALSE;
}
} else {
$status = FALSE;
}
if ($this->cart->getSubTotal() < $this->config->get('free_total')) {
$status = FALSE;
}
$method_data = array();
if ($status) {
$quote_data = array();
$quote_data['free'] = array(
'id' => 'freetwo.freetwo',
'title' => $this->language->get('text_description'),
'cost' => 0.00,
'tax_class_id' => 0,
'text' => $this->currency->format(0.00)
);
$method_data = array(
'id' => 'freetwo',
'title' => $this->language->get('text_title'),
'quote' => $quote_data,
'sort_order' => $this->config->get('free_sort_order'),
'error' => FALSE
);
}
return $method_data;
}
}
?>
Вот код 2: \admin\controller\shipping
<?php
class ControllerShippingFreeTwo extends Controller {
private $error = array();
public function index() {
$this->load->language('shipping/freetwo');
$this->document->title = $this->language->get('heading_title');
$this->load->model('setting/setting');
if (($this->request->server['REQUEST_METHOD'] == 'POST') && ($this->validate())) {
$this->model_setting_setting->editSetting('free', $this->request->post);
$this->session->data['success'] = $this->language->get('text_success');
$this->redirect($this->url->https('extension/shipping'));
}
$this->data['heading_title'] = $this->language->get('heading_title');
$this->data['text_enabled'] = $this->language->get('text_enabled');
$this->data['text_disabled'] = $this->language->get('text_disabled');
$this->data['text_all_zones'] = $this->language->get('text_all_zones');
$this->data['text_none'] = $this->language->get('text_none');
$this->data['entry_total'] = $this->language->get('entry_total');
$this->data['entry_tax'] = $this->language->get('entry_tax');
$this->data['entry_geo_zone'] = $this->language->get('entry_geo_zone');
$this->data['entry_status'] = $this->language->get('entry_status');
$this->data['entry_sort_order'] = $this->language->get('entry_sort_order');
$this->data['button_save'] = $this->language->get('button_save');
$this->data['button_cancel'] = $this->language->get('button_cancel');
$this->data['tab_general'] = $this->language->get('tab_general');
if (isset($this->error['warning'])) {
$this->data['error_warning'] = $this->error['warning'];
} else {
$this->data['error_warning'] = '';
}
$this->document->breadcrumbs = array();
$this->document->breadcrumbs[] = array(
'href' => $this->url->https('common/home'),
'text' => $this->language->get('text_home'),
'separator' => FALSE
);
$this->document->breadcrumbs[] = array(
'href' => $this->url->https('extension/shipping'),
'text' => $this->language->get('text_shipping'),
'separator' => ' :: '
);
$this->document->breadcrumbs[] = array(
'href' => $this->url->https('shipping/freetwo'),
'text' => $this->language->get('heading_title'),
'separator' => ' :: '
);
$this->data['action'] = $this->url->https('shipping/freetwo');
$this->data['cancel'] = $this->url->https('extension/shipping');
if (isset($this->request->post['free_total'])) {
$this->data['free_total'] = $this->request->post['free_total'];
} else {
$this->data['free_total'] = $this->config->get('free_total');
}
if (isset($this->request->post['free_geo_zone_id'])) {
$this->data['free_geo_zone_id'] = $this->request->post['free_geo_zone_id'];
} else {
$this->data['free_geo_zone_id'] = $this->config->get('free_geo_zone_id');
}
if (isset($this->request->post['free_status'])) {
$this->data['free_status'] = $this->request->post['free_status'];
} else {
$this->data['free_status'] = $this->config->get('free_status');
}
if (isset($this->request->post['free_sort_order'])) {
$this->data['free_sort_order'] = $this->request->post['free_sort_order'];
} else {
$this->data['free_sort_order'] = $this->config->get('free_sort_order');
}
$this->load->model('localisation/geo_zone');
$this->data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones();
$this->template = 'shipping/freetwo.tpl';
$this->children = array(
'common/header',
'common/footer'
);
$this->response->setOutput($this->render(TRUE), $this->config->get('config_compression'));
}
private function validate() {
if (!$this->user->hasPermission('modify', 'shipping/freetwo')) {
$this->error['warning'] = $this->language->get('error_permission');
}
if (!$this->error) {
return TRUE;
} else {
return FALSE;
}
}
}
?>