Ув. друпалеры, подскажите как можно создать тип содержания(content type), словарь с терминами(vocabulary), и привязать словарь к этому типу содержания, и вся фишка в том что бы сделать это все не через интерфейс а через код, было бы лучше если спримером.
Комментарии
Берете чистую установку Drupal, сохраняете дамп БД. Затем создаете там все, что нужно. Делаете еще один дамп. Сравниваете исходную и полученную базу - получаете набор SQL-команд, которые формируют желаемый вами результат. Делаете скрипт, который выполняет этот набор команд. Вуаля!
то есть от меня требуется лиш првильно написать sql команду, и потом ее выполнять, и это все? я не верю что все так просто
Почему же? Drupal ведь держит бОльшую часть инфы в БД. Файлы в вашей задаче не меняются.
я еще не пробовал но сейчас хочу спросить про привязку словаря к типу содержания, все также в запросе это прописывается и дальше без проблем идет?
И еще вопрос, если я сначала создаю новый тип содержания, естественно с ССК, привязываю его к словарю, делаю вышеописаные вами действия, получаю sql код и пробую ставить на друпал у которого нет ССК, будут ли проблемы?
Нет, так делать нельзя. Надо смотреть FormAPI - в пятой версии теперь можно заполнять и посылать формы программно. См. ф-ю drupal_execute на api.drupal.org.
> И еще вопрос, если я сначала создаю новый тип содержания, естественно с ССК....
Скользкий вопрос. Скажем так: скорее всего ничего не будет. Проще попробовать. Но, думаю это может представлять только теоритический интерес.
ничё не будет так работать....
Работать конечно не будут, но могут вылезть глюки, а могут не вылезть. Я это имел ввиду.
попробывал я сделать так как писал vadbars, начал сравнивать два дампа... мда не так то все просто как казалось, как прикинул какой там запросик, а точнее несколько, получится и то это только к одному типу (а мне вообще то надо етак штук ~15), что то желание пропало ковырять, может я что то не правильно делал, хотя врядле, но отличий я нашел прилично....
а вот с drupal_execute интересно...
насамом деле мне нужно програмно кинуть в бд именно тип содержания созданый ССК, и притом еще и с кучей поле, значения которых потом прийдется чекать по параметрам... но это другая история, я хочу оприделится как по Вашему мнению стоит ли вообще тратить силы и время на эту задачу?
> я хочу определится как по Вашему мнению стоит ли вообще тратить силы и время на эту задачу?
Для такого рода работ надо хорошо знать Drupal и CCK.
ИМХО - нет.
Создание словаря с привязкой к типу custom_node:
<?php
$vocabulary = array(
'name' => t('Vocabulary Name'),
'multiple' => '0',
'required' => '0',
'hierarchy' => '1',
'relations' => '0',
'module' => 'taxonomy', // можно указать свой модуль
'nodes' => array(
'custom_node' => 1
)
);
taxonomy_save_vocabulary($vocabulary);
?>
Создание терма привязанного к конкретному словарю:
<?php
$term['vid'] = vocabulary_id;
$term['name'] = 'Term Name';
$term['description'] = 'Term Description';
taxonomy_save_term($term);
?>
Создание содержания типа custom_type с 2мя термами:
<?php
$node->created = time();
$node->uid = 1;
$node->type = 'custom_type';
$node->status = 1;
$node->comment = 2;
$node->promote = 0;
$node->moderate = 0;
$node->sticky = 0;
$node->custom_data1 = $value1;
$node->taxonomy[] = $tid1;
$node->taxonomy[] = $tid2;
node_save($node);
?>
Значения в примере можно менять..
zub@drupal.org спс!!!. очень наглядный пример как в Drupale работать с терминами и словарями