Сниппеты

Небольшой код, который облегчает жизнь

Убрать двоеточие из label в drupal

При помощи скрипта ниже можно убрать тупое двоеточие в друпаловском label...

Drupal: Сниппет вывода последних материалов

Сниппет выводит ссылки на 5 последних добавленных материалов:

<?php
$nodes = db_select('node', 'n')
->fields('n', array('nid', 'title'))
->condition('n.status', 1)
->orderBy('n.created', 'DESC')
->range(0, 5)
->execute();
 
echo drupal_render(node_title_list($nodes));
?>

Что такое сниппет и как им воспользоваться.

Drupal: Как программно добавить к ноде картинку

Пример добавления к ноде 123 картинки path/to/file/example.jpg (после добавления она будет доступна по адресу sites/default/files/images/example.jpg):

Drupal: Как добавить контент в ноду перед её выводом

Для модулей:

/**
* Implements of hook_node_view().
*/
function MODULENAME_node_view($node, $view_mode, $langcode) {
if ($view_mode == 'full') {
$node->content['mycontent'] = array(
'#markup' => 'My node content',
'#weight' => 10,
);
}
}

подробнее

Drupal: Запретить пользователям добавлять одинаковые комментарии

Бывает что из-за плохой связи или медленной работы сайта, пользователи жмут на кнопку добавления комментария по несколько раз, что приводит к дублям сообщений. Решается это просто:

user relationships add/remove friend link in user profile node

При использовании модуля content_profile и user_relationships вы модифицируете шаблон user-profile.tpl.php, например в моём случае → у меня все профили - ноды. Код ниже позволит вам вывести ссылку Добавить/Удалить друга в ноде.

User last seen date

Отображение даты последнего "входа" на сайт пользователем.

<?php

$u = user_load($uid);

print floor((time() - $u->access) / 86400);

// will display 1 day ago

?>

printing guestbook module on user-profile.tpl.php

        <?php

                if (module_exists('guestbook')) {

                        if(!$account->guestbook_status){

                print '

Стена

';

        print guestbook_page($account, $op = NULL, $op_id = NULL, $page = TRUE);

                        }

                }

        ?>

Drupal: Как навесить на одну из форм свой обработчик (submit callback)

/**
* Реализация hook_form_FORM_ID_alter()
*/
function mymodule_form_[FORM_ID]_alter(&$form, $form_state) {
// добавить свой обработчик ПОСЛЕ основного
$form['#submit'][] = 'mymodule_mysubmit';
 
// добавить свой обработчик ПЕРЕД основным
array_unshift($form['#submit'], 'mymodule_mysubmit');
 
// добавить свой обработчик ВМЕСТО основного
$key = array_search('[FORM_ID]_submit', $form[

RSS-материал