2016-08-25 2 views
0

В моем модуле мне нужно расширить preashop core CarrierModule и PaymentModule, потому что у него есть части для доставки и оплаты. Поэтому я планировал создать два разных модуля отдельно и создать их в одной папке и установить один раз. Мне нужно знать, как я могу установить скрипт установки для установки двух модулей (один за другим).Prestashop создает два модуля в одной установке

Это установить функцию для одного модуля

public function install() { 
     $flag = parent::install(); 
     if ($this->name !== 'urbitbasic') 
      $flag = ($flag && $this->registerHook('displayRightColumnProduct')); 

     return ($this->installer->installTables() && 
       $this->installer->installCarriers() && 
       $this->installer->installWarehouseCarriers() && 
       $this->installTabs() && 
       $this->registerHook('displayBackOfficeHeader') && 
       $this->registerHook('actionCarrierUpdate') && 
       $this->registerHook('actionObjectCarrierUpdateAfter') && 
       $this->registerHook('displayCarrierList') && 
       $this->registerHook('displayOrderConfirmation') && 
       $flag); 
    } 

В принципе мне нужно создать один модуль, один установочный файл, установить два модуля.

+0

Два модуля в одной папке ?? – sarcom

+0

@sarcom Я имею в виду, что у меня есть два модуля, которые необходимо установить как один – Miuranga

+0

Извините, я понимаю, что у вас есть два модуля в одной папке «создавайте их в одной папке» :). – sarcom

ответ

1

Вы должны установить почти один модуль, выбрать, какие один, в этом модуле вы можете сделать эту процедуру:

public function install() { 
    $flag = parent::install(); 
    if ($this->name !== 'urbitbasic') 
     $flag = ($flag && $this->registerHook('displayRightColumnProduct')); 

    $first_install = ($this->installer->installTables() && 
      $this->installer->installCarriers() && 
      $this->installer->installWarehouseCarriers() && 
      $this->installTabs() && 
      $this->registerHook('displayBackOfficeHeader') && 
      $this->registerHook('actionCarrierUpdate') && 
      $this->registerHook('actionObjectCarrierUpdateAfter') && 
      $this->registerHook('displayCarrierList') && 
      $this->registerHook('displayOrderConfirmation') && 
      $flag); 
    // Now we install the second module 
    $mysecondmodule = Module::getInstanceByName('{thenameofyoursecondmodule}'); 
    $second_install = $mysecondmodule->install(); 

    return $first_install AND $second_install; 
} 
+0

@rcom можно создать два разных файла установщика? потому что мне нужно «расширять» оба «PaymentModule» и «CarrierModule». , так как я могу создать второй модуль в соответствии с вашим ответом? – Miuranga

+1

Если вы создали два модуля, вы должны иметь два разных файла, например: 'urbitbasic/urbitbasic.php' ' urbitplus/urbitplus.php' Вы не можете иметь два модуля в той же папке, что это правило PrestaShop MVC , И чтобы ответить на ваш вопрос, да, нет, вам нужно создать второй модуль :) – sarcom

+0

Спасибо за совет. Когда я создаю два разных файла и два модуля, могу ли я создать общий файл для установки обоих модулей одновременно? Потому что пользователь должен установить его. – Miuranga

Смежные вопросы