Опубликовал Максим Баев, 21 марта 2016, 13:33
Открыть можно любую форму в модальном окне с помощью модуля ctools. Вот пример редактирования ноды.
<?php
function mymodule_menu() {
$items['node/%node/custom-edit'] = array(
'title' => 'Edit node',
'type' => MENU_LOCAL_TASK,
'context' => MENU_CONTEXT_PAGE | MENU_CONTEXT_INLINE,
'access...
Опубликовал Максим Баев, 23 июля 2014, 09:41
Для создания своего поля необходимо реализовать три обязательные функции. hook_element_info(), hook_theme() и theme_hook().
К примеру, реализуем тип формы number (пример работы):
hook_element_info()
<?php
/**
* Implementation of hook_element_info()
*/
function MYMODULE_element_info() {
$types = array();
$types['number'] = array(
...
Draggable table
Опубликовал Максим Баев, 30 апреля 2014, 10:08
Таблицы с перетаскиванием строк создаются немного сложнее чем простые таблицы. Вся логика создания такой таблицы заключается в том, чтобы вручную произвести рендеринг формы и разложить элементы формы по строкам. После чего запустить функцию drupal_add_tabledrag()
с какими-то параметрами. И вот как это делается (комментарии в коде).
Создание...
Опубликовал Максим Баев, 19 февраля 2014, 14:46
При работе форм через ajax callback функция вызывается по пути system/ajax
. Если в форме есть таблица с сортировкой, то все ссылки в хидере таблицы и пагинаторе будут начинаться с system/ajax. Чтобы избежать этого можно сделать так:
<?php
// Если есть сортировка - запоминаем ее.
$get = drupal_get_query_parameters();
if (isset($get[...