Drupal Functions

 →  Настройки поля

published 11 November 2011

Вот таким способом можно получить все настройки поля ноды:

field_info_instance($entity_type, $field_name, $bundle_name)

где: $entity_type - имя сущности $field_name - имя поля $bundle_name - имя типа материала, для ноды например

подробнее на api.drupal.org

 →  Функция перевода t.

published 13 August 2011

Друпал поддерживает множество языков, и каждая строка может быть переведена на нужный язык. Для возможности перевода строки, следует прогнать ее через функцию t().

t($string, array $args = array(), array $options = array())

Пример:

 // @user - строка проходит через фукцию check_plain()
 // %user - строка проходит через функцию drupal_placeholder()
 // !user - строка как есть
$values = array('@user' => $username);
print t('Welcome, @user', $values);

Если пишите строку на русском, следует указать код языка, иначе при переводе, друпал будет думать, что это английский.

 →  Программное сохранение ноды

published 06 August 2011

Для программного создания ноды создаем объект и “заполняем” его необходимыми для ноды полями, после функцией node_save($node) сохраняем, если указать поле $node->nid нода сохраниться под этим номером, если не указать, номер создаться автокриментом.

   global $user;
    $node = new stdClass();
    $node->type = 'bull';
    $node->title = $values['title'];
$node->uid = $user->uid;
$node->language = 'ru';
$node->status = 0;
$node->promote = 0;
$node->comment = 0;
$node->sticky = 0;
$node->created = REQUEST_TIME;
$node->changed = REQUEST_TIME; 
    $node->body['ru']['0'] = $values['description'];
    $node->field_fieldname['ru']['0']['value'] = '';
    node_save($node);

UPD: Вообще оказываеться правильной делать так:

 →  Функции модуля Taxonomy 7.x

published 06 August 2011

Получить объект термина по tid

$term = taxonomy_term_load($tid);

Получить дерево словаря

taxonomy_get_tree($vid, $parent = 0, $max_depth = NULL, $load_entities = FALSE)

$vid Which vocabulary to generate the tree for.

$parent The term ID under which to generate the tree. If 0, generate the tree for the entire vocabulary.

$max_depth The number of levels of the tree to return. Leave NULL to return all levels.

$load_entities If TRUE, a full entity load will occur on the term objects. Otherwise they are partial objects queried directly from the {taxonomy_term_data} table to save execution time and memory consumption when listing large numbers of terms. Defaults to FALSE.

 →  Подключение скриптов и стилей в модуле

published 23 July 2011

$path = drupal_get_path(‘module’, ‘j_catalog’); drupal_add_js($path . ‘scripts/j.js’, ‘file’); drupal_add_css($path . ‘css/j.css’, ‘file’);

 →  Cсылка. Функция l

published 16 July 2011

Причин по которым следует использовать для построения ссылок функцию l, я вижу две. Во-первых, друпал добавляет к ней свои классы (как например active), что очень удобно. Во-вторых, прописывает, если заданы, алиасы пути.

l(t(‘Задать Вопрос’), ‘ask’, array(‘attributes’ => array(‘class’ => array(‘show_ajax_form’), ‘id’ => array(‘faq_ajax’))));

Если в виде ссылки нужно вывести картинку или другой html, добавляем параметр html в TRUE

l(’’, ‘/images/imageBig.jpg’, array(‘html’ => TRUE, ‘attibutes’=> array(‘class’ => array(‘array(‘images’)))));