Программно проверить существование типа контента в Drupal 7

Иногда перед тем, как создавать программно новый тип контента, требуется проверить – а не существует ли он уже? Чтобы сделать такую проверку, мы можем:

1. получить информацию о всех существующих типах контента
2. проверить, есть ли тип контента с нашим названием
3. если такой тип контента не существует, создать его

Получить информацию о всех типах контента нам поможет функция node_type_get_names(), имеющаяся в Drupal.

При ее вызове, например, так:

$types = node_type_get_names();


мы получим массив имеющихся типов контента, где в качестве ключа будет «машинное» имя, а в значении – имя:

Array( [article] => Article [page] => Basic page [blog] => Blog [product] => Product [shop] => Shop [vacancy] => Vacancy)


Если нужного нам типа еще нет, создаем его программно:

if (!array_key_exists("gallery", $types)) {   
    $type = array(
      'type' => 'gallery',
      'name' => st('gallery'),
      'base' => 'node_content',
      'description' => st('This is our gallery'),
      'custom' => 1,
      'modified' => 1,
      'locked' => 0,
    );
    $type = node_type_set_defaults($type);
    node_type_save($type);
}
Теги:
Drupal
Добавлено: 26 Февраля 2015 17:50:10 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...