Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как изменить модуль "Доставка по городу"


tarkensan

Recommended Posts

Хочу немного откорректировать модуль "Доставка по городу". А именно:

Доставка по городу
        Доставка по городу (Вес: 0.00g)
Заменить на

Доставка по городу
        Доставка по городу
Т.е. убрать из этого модуля отображение веса.

Сам модуль я так понимаю, лежит по следующему пути: catalog/model/shipping/citylink.php

Вот его содержание:

<?php
class ModelShippingCitylink extends Model {
	function getQuote($address) {
		$this->load->language('shipping/citylink');
		
		if ($this->config->get('citylink_status')) {
      		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('citylink_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('citylink_geo_zone_id')) {
        		$status = TRUE;
      		} elseif ($query->num_rows) {
        		$status = TRUE;
      		} else {
        		$status = FALSE;
      		}
		} else {
			$status = FALSE;
		}

		$method_data = array();
	
		if ($status) {
			$cost = 0;
			$weight = $this->cart->getWeight();
			
			$rates = explode(',', $this->config->get('citylink_rate'));
			
			foreach ($rates as $rate) {
  				$data = explode(':', $rate);
  					
				if ($data[0] >= $weight) {
					if (isset($data[1])) {
    					$cost = $data[1];
					}
					
   					break;
  				}
			}
			
			$quote_data = array();
			
			if ((float)$cost) {
				$quote_data['citylink'] = array(
        			'id'           => 'citylink.citylink',
        			'title'        => $this->language->get('text_title') . '  (' . $this->language->get('text_weight') . ' ' . $this->weight->format($weight, $this->config->get('config_weight_class')) . ')',
        			'cost'         => $cost,
        			'tax_class_id' => $this->config->get('citylink_tax_class_id'),
					'text'         => $this->currency->format($this->tax->calculate($cost, $this->config->get('citylink_tax_class_id'), $this->config->get('config_tax')))
      			);
				
      			$method_data = array(
        			'id'         => 'citylink',
        			'title'      => $this->language->get('text_title'),
        			'quote'      => $quote_data,
					'sort_order' => $this->config->get('citylink_sort_order'),
        			'error'      => FALSE
      			);
			}
		}
	
		return $method_data;
	}
}
?>

Что именно необходимо заменить в этом модуле, дабы убрать отображение веса товара?

Полагаю что за это отвечает строчка:

'title'        => $result['name'] . '  (' . $this->language->get('text_weight') . ' ' . $this->weight->format($weight, $this->config->get('config_weight_class')) . ')',
Но сколько не пробовал редактировать, успешного результата так и не добился. Может не там смотрю?
Надіслати
Поділитися на інших сайтах


Уже пробовал, код стал выглядеть так:

<?php
class ModelShippingCitylink extends Model {
        function getQuote($address) {
                $this->load->language('shipping/citylink');
                
                if ($this->config->get('citylink_status')) {
                $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('citylink_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('citylink_geo_zone_id')) {
                        $status = TRUE;
                } elseif ($query->num_rows) {
                        $status = TRUE;
                } else {
                        $status = FALSE;
                }
                } else {
                        $status = FALSE;
                }

                $method_data = array();
        
                if ($status) {
                        $cost = 0;
                        $weight = $this->cart->getWeight();
                        
                        $rates = explode(',', $this->config->get('citylink_rate'));
                        
                        foreach ($rates as $rate) {
                                $data = explode(':', $rate);
                                        
                                if ($data[0] >= $weight) {
                                        if (isset($data[1])) {
                                        $cost = $data[1];
                                        }
                                        
                                        break;
                                }
                        }
                        
                        $quote_data = array();
                        
                        if ((float)$cost) {
                                $quote_data['citylink'] = array(
                                'id'           => 'citylink.citylink',
                                'title'        => $result['name'],
                                'cost'         => $cost,
                                'tax_class_id' => $this->config->get('citylink_tax_class_id'),
                                        'text'         => $this->currency->format($this->tax->calculate($cost, $this->config->get('citylink_tax_class_id'), $this->config->get('config_tax')))
                        );
                                
                        $method_data = array(
                                'id'         => 'citylink',
                                'title'      => $this->language->get('text_title'),
                                'quote'      => $quote_data,
                                        'sort_order' => $this->config->get('citylink_sort_order'),
                                'error'      => FALSE
                        );
                        }
                }
        
                return $method_data;
        }
}
?>

Но такой вариант почему-то у меня не работает. Может какую-то скобку или запятую упустил в коде?

Надіслати
Поділитися на інших сайтах


ну а я взял из

'title'        => $result['name'] . '  (' . $this->language->get('text_weight') . ' ' . $this->weight->format($weight, $this->config->get('config_weight_class')) . ')',

вообщем делай

'title'        => $this->language->get('text_title'),
Надіслати
Поділитися на інших сайтах


  • 8 months later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.