Error message

User warning: The following theme is missing from the file system: responsive_green. For information about how to fix this, see the documentation page. in _drupal_trigger_error_with_delayed_logging() (line 1143 of /var/www/moscovie.com/includes/bootstrap.inc).

Drupal 7

Добавить к выводу каждой страницы ссылку на форму заказа в модальном окне.Drupal7

В данном случае для формирования ссылки будем использовать функцию l Drupal.
l($text, $path, array $options = array())

Добавляться будет элемент массива формы '#markup' => ' ' Который используется для вывода HTML

//Создаем меню
function mymodule_menu(){
//Передаем аргумент модального окна
$items['example/%ctools_js'] = array(
'page callback' => 'example_modal_callback',
'access callback' => TRUE,
'page arguments' => array(1),
);

The code has been tested and works

Как программно вывести форму создания ноды


module_load_include('inc', 'node', 'node.pages');
$type = 'article';
$node = (object)array(
'uid' => $GLOBALS['user']->uid,
'name' => isset($GLOBALS['user']->name) ? $GLOBALS['user']->name : '',
'type' => $type,
'language' => LANGUAGE_NONE
);
$output = render(drupal_get_form($type . '_node_form', $node));

The code has been tested and works

Получение форм из других модулей Drupal 7

Задача необходимо получить функционал комментирования как на странице
http://www.example.com/admin/content/comment/

Находим

Ищем данный id в файлах модуля comment

id записывается с нижними подчеркиваниями
drupal_get_form('comment_admin_overview', $type);
Функция вызова формы содержит доп параметр передачи типа комментариев(опубликованных и неопубликованных)
( 'new' or 'approval' ).

The code has been tested and works

Автодополняемое поле


Добавить полю свойство #autocomplete_path и прописать в нём путь, по которому будут возвращаться данные:
/**
* Form builder.
*/
function mymodule_myform() {
$form['myfield'] = array(
'#type' => 'textfield',
'#title' => 'My field',
'#autocomplete_path' => 'mymodule/autocomplete', // );
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Submit',
);
return $form;
}

The code has been tested and works

Живой поиск в поле формы на Drupal7

Задача - Перехватывать событие ввода текста в поле формы и выводить нужный нам ответ в нужном нам месте.

Решение.

//Добавляем к модулю файл js
function mymodule_init() {
drupal_add_js(drupal_get_path('module', 'mymodule') .'/myjs.js');
}

The code has been tested and works

Простое модальное окно при помощи CTools


/**
* Implementation of hook_menu().
*/
//Объявляем меню
function example_menu() {
$items = array();
//Обычная страница
$items['test'] = array(
'title' => 'Ajax Test',
'page callback' => 'example_test_main',
'access arguments' => array('access content'),
);
//Страница с сылкой на аякс
$items['test/%ctools_js'] = array(
'page callback' => 'example_test_modal_callback',
'page arguments' => array(1),

The code has been tested and works

Вывод результата работы формы на этой же странице, где и форма.


function myMod_form($form, &$form_state) {

if(!empty($form_state['temporary'])) {
$form['results'] = array(
'#type' => 'item',
'#markup' => $form_state['temporary'],
);
}

return $form;
}

function myMod_submit($form_id, &$form_state) {

$results = callSomeFunctionToGetResults();

$form_state['temporary'] = $results;
$form_state['rebuild'] = TRUE;

}

The code has been tested and works

Вертикальные вкладки на странице

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


/**
* Реализация формы администрирования.
* Прикрутите к hook_menu().
*/
function drupal_paste_analytics_form($form, &$form_state) {
$form['vertical_tabs'] = array(
'#type' => 'vertical_tabs',
);

The code has been tested and works

Pages

Subscribe to RSS - Drupal 7