Drupal 6.x

Письма с сайта. Название сайта в имени отправителя.

Письма с сайта, приходят не от имени сайта, а например, в поле от стоит - webmaster@site.com. На drupal.org необходимого модуля не нашлось.

<?php
function my_module_mail_alter(&$message) {
$from_name = variable_get('site_name', 'Drupal site');//Получаем название сайта
$from_mail = variable_get('site_mail', ini_get('sendmail_from'));//Получаем e-mail сайта
$from_name = addslashes(mime_header_encode($from_name));
$message['headers']['From'] = $from_name.'<'.$from_mail.'>';//Устанавливаем заголовок письма
}
?>

Смотрим вложенный модуль

Заполнить поле в модуле profile при регистрации

Бывает очень полезно, если поле скрытое, например если нужно указать тариф для пользователя.

<?php
function my_module_user($op, &$edit, &$account, $category = NULL) {
  if ($op == 'insert') {
    db_query("INSERT INTO {profile_values} (fid, uid, value) VALUES (%d, %d, '%s')", id_поля, $account->uid, значение);
  }
}
?>

Удаление ссылки - “username’s blog” или Блог пользователя...

Как же удалить ссылку Блог пользователя такого то? Очень просто.

В template.php добавляем функцию:

<?php
function моятема_links($links, $attributes = array()) {
// Удаление ссылки на блог пользователя
if (isset($links['blog_usernames_blog'])) {
unset($links['blog_usernames_blog']);
}
return theme_links($links, $attributes);
}
?>

Осталось только сбросить кеш.

Drupal - WSOD или белый экран смерти

Иногда пользователь сайта или разработчик при переходе на страницу не видит ни чего. Нет содержания. Нет ошибки. Ничто. Это часто, но не всегда, бывает после обновления модуля, темы, или ядра Drupal. Drupal сообщество называет это, как Белый экран смерти или WSOD (White Screen of Death). Есть несколько причин, почему это может произойти, и вот несколько возможных путей решения проблемы.

CCK: Значение поля по умолчанию

Приведен пример для установки значения по умолчанию из профиля пользователя с именем profile_name.

<?php
global $user;
profile_load_profile($user);
return array(
0 => array('value' => $user->profile_name),
);
?>

Views: Иконка, если загружена фотография

Потребуется модуль Views Custom Field

 Добавляю поле Customfield: PHP-код, прописываю:

<?php
$c = count( $data->node_data_field_photo_field_photo_fid[0]['data']);
if ($c!=0)print '';
?>

Где node_data_field_photo_field_photo_fid - имя поля. Доступные переменные можно посмотреть в массиве $data.

В css прописать стиль для класса photo.

Результат:

Возможно есть другое решение, но я не нашел.

Показать views программно

Если нужно просто показать созданный views, можно использовать код:

<?php
$view = views_get_view('имя_вьюс');
print $view->preview('default');
?>

Если есть необходимость в передаче аргументов, то:

<?php
$args = array(аргумент(ы));
$view = views_get_view('имя_вьюс');
print $view->preview('default', $args);
?>

<?php
  print views_embed_view('my_view', 'block_1', $arg1, $arg2);
?>

Заменить ссылку модуля flag на изображение

1. Скопировать файл flag.tpl.php в каталог с темой

2. В template.php добавить функцию:

<?php
function phptemplate_preprocess_flag(&$vars) {
  $image_file = path_to_theme() . '/images/flag-' . $vars['flag']->name . '-' . ($vars['action'] == 'flag' ? 'off' : 'on') . '.png';
// Раскомментировать при тестировании
// drupal_set_message("Поиск изображения '$image_file'...");
    $vars['link_text'] = '';
}?>

Useralias 0.1. Разрешаем пользователям самим выбирать алиас профиля

Разрешаем пользователям самим выбирать алиас профиля пользователя.

Установка: заливаем, включаем, даем права ролям на изменение алиаса.

Модуль во вложении. Первая версия, не тестировал на рабочих сайтах. Русского перевода нет.

Модуль - ссылка на страницу перевода drupaler.ru

Ну совсем небольшой модуль, добавляет ссылку на страницу для загрузки перевода модуля с сайта drupaler.ru, на странице с модулями (масло масленое получилось), где останется только выбрать релиз  и нажать кнопку Экспорт.

Смотрим скрин

RSS-материал