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

клонировать модули - как?


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

возникла потребность отклонировать разные модули доставки ( zones и russianpostpf) в нескольких экземплярах, чтоб они при работе никак не влияли друг на друга. Как это правильно сделать, где и что на что менять?

В них же тьма тьмущая всяких переменных, констант, функций и прочего, вдруг что пойдет не так?

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

а названия классов менять не надо?

к примеру в магазине по умолчанию уже стоят два модуля, по сути - клоны, только немного изменен код в них. это russianpostpf и russianpostprepay.

И в них, к примеру есть такой код:

	class russianpostprepay extends  russianpost{
var $code, $title, $description, $enabled;

function russianpostprepay()
{
      $this->code = 'russianpostprepay';
      $this->title = MODULE_SHIPPING_RUSSIANPOSTPREPAY_TEXT_TITLE_PREPAY;
      $this->description = MODULE_SHIPPING_RUSSIANPOSTPREPAY_TEXT_DESCRIPTION_PREPAY;
      $this->sort_order = MODULE_SHIPPING_RUSSIANPOSTPREPAY_SORT_ORDER_PREPAY;
      $this->icon = '';
      $this->tax_class = MODULE_SHIPPING_RUSSIANPOSTPREPAY_TAX_CLASS;
      $this->enabled = ((MODULE_SHIPPING_RUSSIANPOSTPREPAY_PARCEL_STATUS == 'True' || MODULE_SHIPPING_RUSSIANPOSTPREPAY_WRAPPER_STATUS == 'True') ? true : false);[/code]
[code]class russianpostpf extends  russianpostt{
var $code, $title, $description, $enabled;

function russianpostpf()
{
      $this->code = 'russianpostpf';
      $this->title = MODULE_SHIPPING_RUSSIANPOSTPREPAY_TEXT_TITLE_PF;
      $this->description = MODULE_SHIPPING_RUSSIANPOSTPREPAY_TEXT_DESCRIPTION_PF;
      $this->sort_order = MODULE_SHIPPING_RUSSIANPOSTPREPAY_SORT_ORDER_PF;
      $this->icon = DIR_WS_ICONS . 'shipping_firstpost.gif';
      $this->tax_class = MODULE_SHIPPING_RUSSIANPOSTPREPAY_TAX_CLASS_PF;
      $this->enabled = ((MODULE_SHIPPING_RUSSIANPOSTPREPAY_PARCEL_STATUS_PF == 'True' || MODULE_SHIPPING_RUSSIANPOSTPREPAY_WRAPPER_STATUS_PF == 'True') ? true : false);

как видно, есть отличия в названиях. Они на что нибудь влияют?

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

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

взял за основу модуль modules/shipping/russianpostpf.php

во-первых, заменил в нём все

_RUSSIANPOSTPREPAY_
на
_RUSSIANPOSTPARCEL_
то же проделал и с языковым файлом. Затем, в начале файла заменил название класса
class russianpostt{
var $code, $title, $description, $enabled, $settings;[/code] на
[code]class russianpostp{
и ближе к концу файла (строка 470) заменил

class russianpostpf extends  russianpostt{
var $code, $title, $description, $enabled;

function russianpostpf()
{
     $this->code = 'russianpostpf';
[/code]

на

class russianpostpar extends  russianpostp{

var $code, $title, $description, $enabled;

function russianpostpar()

{

     $this->code = 'russianpostpar';

не помогло. НУ а когда обратно поменял extends  russianpostp на extends  russianpostt , вообще список модулей перестал загружаться (точнее, прекращалось всё на курьерской доставке)

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