пыемся удалить / добавить программно поле и его сущность в друпал 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
- 4876 reads