Clear cached data és Create content

fox mulder képe

Sziasztok!

Van egy modulom, amiben a node_type_save() függvénnyel létrehozok egy új tartalomtípust, majd egy menu_rebuild() után szépen meg is jelenik a Create content menüpont alatt és bekerül a node_type táblába. Az a gondom, hogy ha az admin/settings/performance lap alján rákattintok a Clear cached data gombra, akkor az így létrehozott tartalomtípus eltűnik a node_type táblából. Miért?

Drupal verzió: 
fox mulder képe

Ha felteszek itt egy kérdést, öt perc múlva megtalálom a megoldást...

Szóval a kódom így nézett ki:

$info = array(
        'has_title'   => TRUE,
        'title_label' => t('Name'),
        'has_body'    => TRUE,
        'body_label'  => t('Description'),
        'help'        => $node -> help,
        'description' => $node -> body,
        'type'        => $node -> machine_readable_name,
        'name'        => $node -> title,
        'module'      => 'MODULOM_NEVE'
);
node_type_save((object) $info);

A Clear cached data gombra kattintva a System modul system_clear_cache_submit() függvénye fut le, abban a drupal_flush_all_caches() függvény, abban pedig a node_types_rebuild(), melyben a tartalomtípus törlésre kerül, if(!empty($info->disabled)). Ez pedig akkor van, ha a node_type táblában a module mező értéke NEM 'node'!

A fenti kódba tehát a 'MODULOM_NEVE' helyett 'node'-ot kellett írni és lőn csoda. A _node_types_build() megfelelő részében az alábbi a megjegyzés:

// Check for node types from disabled modules and mark their types for removal.
// Types defined by the node module in the database (rather than by a separate
// module using hook_node_info) have a module value of 'node'.

Nekem nem tiszta, hogy miért 'törölhető' a modulom által létrehozott tartalomtípus, hiszen nem a hook_node_info()-val hoztam létre. Ezek szerint nem illik használni a node_type_save() függvényt modulban?
0
0

Fox Mulder