it-swarm-eu.dev

Jak odstraním proměnné z tabulky proměnných, když se můj modul odinstaluje?

Pracuji na modulu Drupal 6, který přidává některé proměnné do tabulky proměnných. Jak mohu pokračovat s odstraňováním těchto proměnných z tabulky proměnných, když je modul odinstalován?

7
Jim

Sledujte své proměnné a přidejte příslušné variable_del() volání v rámci implementace hook_uninstall() :

function foo_uninstall() {
  variable_del('foo_variable1');
  variable_del('foo_variable2');
}

Protože hook_uninstall() je instalační háček, musí být umístěn v souboru .install Vašeho modulu (např. foo.install).

Neměli byste smazat všechny proměnné s předponou s názvem vašeho modulu, protože srážky v oboru jmen se vrátí, aby vás kously. Pokud je například název vašeho modulu foo, můžete si myslet, že byste právě měli dotazovat tabulku variables pro všechny proměnné s předponou foo_. Ale co když napíšu modul s názvem foo_awesome? Smazali byste také mé proměnné. To by nebylo hezké.

13
user7

UPDATE: Při dalším kopání diskuse na tomto blog jsem narazil na tento nápad od Davea Reida na Přijměte metodu, která Drupal jádra .

2
Matt V.