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ó:
Fórum:
Mindig ez van :(
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:
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:
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?
Fox Mulder