Вы здесь

Как в материале вывести кнопку, выполняющую определённое действие?

1

Интернет магазин реализован с помощью Basic Cart. При создании заказа отправляется сообщения на почту админа и пользователя, который создал заказ. Также создается заказ (нода) с помощью hook_node_insert(), в которой исп. функция отправки сообщений basic_cart_order_send_notifications($node);.
Как на странице заказа (нп., node/478, где 478 - id заказа) добавить кнопку, которая отправляла бы такое самое уведомление, как при создании заказа?

Версия Drupal: 
7.x
Вопрос задан 02.11.2016 - 19:42

Ответы

0

Быстрее всего поставить rules link . Позволяет создавать кнопочки и аттачить их к материалам.

Еще можно создать свою форму (https://api.drupal.org/api/drupal/includes!form.inc/group/form_api/7.x) и вывести ее, пример вывода:

function [YOUR_MODULE]_node_view($node, $view_mode, $langcode) {
    $my_form = drupal_get_form('addtabexample_form', $node);
    $node->content['my_form_attached'] = array(
        '#markup' => drupal_render($my_form),
        '#weight' => 10,
    );
}
Ответ дан 02.11.2016 - 23:28

Спасибо за подсказку. Я в модуле Basic Cart создал кастомную форму с одним инпутом (типа hidden) и кнопкой сабмита. На сабмит формы повесил обработчик, в котором и вызываю готовую функцию отправки почты. В темплейте ноды через drupal_render и drupal_get_form() вывожу свою форму. Все работает.

Комментарий оставлен 04.11.2016 - 12:15