контентный модуль и его активация

Главные вкладки

Аватар пользователя makkon makkon 20 марта 2009 в 17:25

приветствую всех.
попытался написать простейший контентный модуль.
добавляет пару записей кроме обычных.
естественно записывает это все в бд в виде таблицы.

инстал имеется, но накосячил. решил добавить еще одно поле(колонку в таблице), а потом просто удалил модуль старый из папки, заменив его новым, а деактивировать забыл.
в итоге у меня теперь не грузится друпал, когда имеется папка с этим модулем. удаляю - все ок.

как деактивировать все модули системы? либо другие способы посоветуйте.

пс. таблицу в бд я удалил вручную - не помогло

Комментарии

Аватар пользователя elia elia 20 марта 2009 в 17:46

удалить папку модуля
проверить на всякий случай отсутствие записи в {system}
заново закачать папку с модулем

Аватар пользователя makkon makkon 20 марта 2009 в 18:11

да, это понятно...
сейчас пытаюсь удалить записи в таблицах system и variable

сделал удаление данных, содержащих название модуля в вышеперечисленных таблицах и все ок. грузится сайт с скопированным модулем. пытаюсь врубить его и страница не грузится...

Аватар пользователя elia elia 21 марта 2009 в 10:14

"makkon" wrote:
да, это понятно...
сейчас пытаюсь удалить записи в таблицах system и variable

сделал удаление данных, содержащих название модуля в вышеперечисленных таблицах и все ок. грузится сайт с скопированным модулем. пытаюсь врубить его и страница не грузится...


значит функция update_1() написана скорее всего неправильно - при включении модуля Drupal пытается ее прогнать (вы ведь поле в таблицу через нее добавляете?) и ... Код там какой написан?

Аватар пользователя makkon makkon 23 марта 2009 в 16:13
<?php
// $Id$

/**
 * Install the seminar module, including it's content (node)
 * type.
 * установка модуля seminar, включая контент
 * file
 */

/**
 * Implementation of hook_install()
 */

function seminar_install() {
  drupal_install_schema('seminar');
}

/**
 * Implementation of hook_uninstall()
 */

function seminar_uninstall() {
  drupal_uninstall_schema('seminar');
}

/**
 * Implementation of hook_schema()
 */

function seminar_schema() {
  $schema['seminar'] = array(
    'fields' => array(
      'vid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0
      ),
      'nid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0
      ),
      'dates' => array(
        'type' => 'varchar',
        'length' => 127,
        'not null' => TRUE,
        'default' => ''      
      ),
        'place' => array(
        'type' => 'varchar',
        'length' => 300,
        'not null' => TRUE,
        'default' => ''
      ),
      // Note: On MySQL, text fields cannot have default values.
      'report_name' => array('type' => 'text', 'not null' => FALSE),
      'reporter_name' => array('type' => 'text', 'not null' => FALSE),
    ),
    'indexes' => array(
      'nid' => array('nid'),
    ),
    'primary key' => array('vid'), // Version is primary key. Could do nid, vid.
  );

  return $schema;
}

примерно так, это seminar.install