Доступ к нодам Drupal6

/**
* Implement hook_node_access_records().
*/
function custom_node_access_records($node) {
if ($node->type == 'profile') {
// Authors need access to their own private profile
$grants[] = array(
'realm' => 'custom_profile',
'gid' => $node->uid,
'grant_view' => TRUE,
'grant_update' => TRUE,
'grant_delete' => FALSE,
);
return $grants;
}
}

Шпаргалка по найболее полезным хукам Drupal6

Быстрый переход: ABCDEFHILMNPRSTUVWX
Название хука Описание хука
A hook_access($op, $node, $account) Делает проверку доступа пользователя к определённому объекту сайта.
hook_actions_delete($aid) Вызывается после удаления действия (action).
hook_action_info() Позволяет добавить новое действие (action) для триггеров.
hook_action_info_alter(&$actions) Позволяет изменять действия (actions), созданные другими модулями.

The code has been tested and works

Переопределить submit другой формы Drupal


function mymodule_form_alter(&$form, $form_state, $form_id) {
if ($form_id=='search_block_form'){
$form['#submit'][0] = 'mymodule_search_box_form_submit';
}
}

function mymodule_search_box_form_submit($form, &$form_state){

}
?>

The code has been tested and works

Получить форму профиля пользователя Drupal6


//Наименование категории профиля
$category = 'my_category';
module_load_include('pages.inc', 'user');
$select_form = drupal_get_form('user_profile_form',$user,$category);//получаем поля формы
?>

Проверка на правильное подключение файлов модулей Drupal


$file_path = module_load_include($type, $module, $filename);

if ($file_path === FALSE) {
dpm('Failed to include: ' . $filename);
}
else {
dpm('Successfully included: ' . $file_path);
}
?>

The code has been tested and works

Записать в базу Drupal (только для таблиц определенных схемой)


$data = array(
'name' => 'something',
'description' => 'something else',
'array1' => $myarray1,
'array2' => $myarray2
);
drupal_write_record('my_table', $data);
?>

The code has been tested and works

Получить список полей определенного типа материала Drupal6


$type = 'mytype';
$fields = content_fields();

$type_fields = array();
foreach ($fields as $field_name => $field_data)
{
if ($field_data['type_name'] == $type)
{
$type_fields[$field_name] = $field_data;
}
}

The code has been tested and works

Pages

Subscribe to moscovie.com RSS