Установка и удаление модуля

Материал из Umicms
Версия от 05:23, 2 декабря 2011; VITL' (обсуждение | вклад) (Новая страница: «Как вам уже должно быть известно, при установке какого либо модуля используется файл: <pre> cl…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Как вам уже должно быть известно, при установке какого либо модуля используется файл:

classes/modules/mymodule/install.php

в этом файле прописываются различные ключи реестра и их значения по умолчанию, к примеру:

$INFO['per_page'] = "20";

Но в этом же файле, в случае необходимости, можно с помощью API UMI.CMS прописать другой код, который при установке модуля создаст какой-либо тип данных, справочник или выполнит какие-либо другие действия.

При удалении модуля, в конечном итоге для удаляемого модуля вызывается метод uninstall:

$module	= cmsController::getInstance()->getModule($module_name);
$module->uninstall();

если метод не будет найден в классе удаляемого из системы модуля, то выполнится метод uninstall в классе def_module, файл classes/modules/def_module.php. Но, если если при удалении модуля, необходимо не только удалить ключи реестра, но и выполнить еще какие-либо действия, то необходимо добавить метод uninstall в ваш class.php:

classes/modules/mymodule/class.php

Каркас метода:

  public function uninstall() {
  	//дополнительные действия

        //стандартные действия
  	  $regedit = regedit::getInstance();
  	  $className = get_class($this);
  	  $k = $regedit->getKey('//modules/' . $className);
  	  $regedit->delVar('//modules/' . $className);
  }