Install fájl

kr.roland képe

Sziasztok!

Írogatok egy saját modult 6-os Drupalhoz. A modul kész, és már csak 1 dolgom lenne, írni egy install fájlt.
Ezt el is kezdtem, a marpdf.install tartalma

<?php
// $Id:$
 
function  marpdf_schema() {
  $schema['marpdf'] = array(
    'description' => 'Holds definitions for top-level custom menus (for example, Primary Links).',
    'fields' => array(
      'menu_name' => array(
        'type' => 'varchar',
        'length' => 32,
        'not null' => TRUE,
        'default' => '',
        'description' => 'Primary Key: Unique key for menu. This is used as a block delta so length is 32.',
      ),
      'title' => array(
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
        'description' => 'Menu title; displayed at top of block.',
      ),
      'description' => array(
        'type' => 'text',
        'not null' => FALSE,
        'description' => 'Menu description.',
      ),
    ),
    'primary key' => array('menu_name'),
  );
 
  return $schema;
}
 
function marpdf_install() {
  // Create my tables.
  db_set_active('szolgaltatasok');
  drupal_install_schema('marpdf');
  db_set_active('default');
  //exit();
}
?>

(A tábla a menu modul táblája. Elsőre arra gondoltam elírtam valamit, ezért inkább bemásoltam egy már működő táblát.)
Kikapcsolom bekapcsolom, de az install nem fut le, nem hozza létre a táblát. Az utolsó előtti,előtti sorba beírtam már az exit()-et is, hogy legalább kilépjen ha lefut, de semmi...

Találkozott ezzel a problémával valaki? Egyáltalán jól írtam meg?

Köszönöm!

Drupal verzió: 
sgabe képe

<?php
function marpdf_install() {
  drupal_install_schema('marpdf');
}
?>

Ennyi.

0
0
kr.roland képe

Szerintem nem rossz az :), de azért bemásoltam a tiedet, és úgy próbáltam de semmi változás a táblák között...

0
0
eMeLA képe

A kikapcsolás után, az "eltávolítás"-t is megnézted, illetve elvégezted ?

0
0

...mit tudok: http://web.termuves.hu

kr.roland képe

Nem szerepel az eltávolítás-nál a kikapcsolt modulom

0
0
sgabe képe

<?php
function marpdf_uninstall() {
  drupal_uninstall_schema('marpdf');
}
?>
0
0
kr.roland képe

Még jobban lebutítottam az .install fájlt, jelenleg így néz ki:

<?php
// $Id:$
 
/**
 * Implementation of hook_install().
 */
function marpdf_install() {
 
    drupal_set_message(t('BE.'));
}
 
/**
 * Implementation of hook_disable().
 */
function marpdf_disable() {
  drupal_set_message(t('KI.'));
}

Kikapcsolásnál kiírja, hogy 'KI', de bekapcsolásnál semmi.

Valahol nem kell beállítani, hogy engedélyezze a saját install létrehozást? Esetleg nem kell szerepelni valaminek az .info fájlban, vagy valahol máshol?

0
0
sgabe képe

Töröld az adatbázisból a modulodat, mert a hook_install() csak az első bekapcsoláskor fut le. Ha már jelen van a rendszerben a modul a ki-bekapcsolgatással nem fog lefutni, csak ha van egy hook_uninstall() és el is távolítod a modult rendesen, a hook_disable() erre nem alkalmas.

0
0
kr.roland képe

Köszi, működik! A kulcsmondat:
"Töröld az adatbázisból a modulodat, mert a hook_install() csak az első bekapcsoláskor fut le"

0
0