пыемся удалить / добавить программно поле и его сущность в друпал 7 - пока получается не очень
Primary tabs
этот код корректно устанавливает . но не может толком удалить (не удаётся удалить экземпляр поля) =
// установим поле и его экземпляр
function LL_install()
{
if (!($field = field_info_field('field_2000'))) // если инйформации о таком поле как об установленном нет - то добавим его
{
$field = array(
"field_name"=>"field_2000", // имя поля
"type"=>"node_reference",// его тип (спасибо модулю references)
'cardinality' => 1,
'settings' => array(),
'entity_types' => array('user', 'node'), // видимо сущности к которым можно будет привязывать экземпляры поля
);
field_create_field($field); // создаем поле
log_light(" new field !");
watchdog("LL="," filed is created !");// добавим запись в системный журнал
}
// работаем с экземпляром поля
if (!($field = field_info_instance('node','field_2000','article'))) /*если экземлпяр поля не
известен как "установленный" - создадим его*/
{
$instance = array(
"field_name"=>"field_2000",
'entity_type' => 'node', // указываем сущность к которой будет относится экземляр поля
"label"=>t("Cool"),
'bundle' => 'article',// выбираем привязку к "статье"
"type"=>"node_reference",
"widget"=>array(
"type"=>"options_select"
),
);
field_create_instance($instance); /*создаём экземпляр этого поля и привязываем его к типу "статья"*/
watchdog("LL="," instance is created !");
log_light(" new instance !");
}
}
// удалим поле и его экземпляр
function LL_unstall()
{
// работаем с экземпляром поля - сначала удаляем экземпляр - а потом тольок само поле
if ($field = field_info_instance('node','field_2000','article')) // если поле существует - удалим его
{ field_delete_instance($field);
log_light(" delete filed instance !");
watchdog("LL=","delete filed instance !");
}
if ($field = field_info_field('field_2000')) //
{
log_light(" deleting field !");
watchdog("LL=","deletion field is completed !");
field_delete_field($field);
log_light(" deletion field is completed !");
watchdog("LL=","filed is deleted !");
}
}- drudev's blog
- Log in to post comments
- 5329 reads