Как создать модальное окно с собственной формой с помощью ctools?

Главные вкладки

Аватар пользователя Lavio Lavio 14 апреля 2014 в 7:16

Есть кнопка, после того как на нее нажимаем нужно, чтобы появилось сообщение во всплывающем окне что все прошло успешно или были такие-то ошибки с кнопочкой "ok" чтобы человек подтвердил то что он прочитал уведомление. Сам текст сообщений формируется, вот как создать это модальное окно не знаю. Нашел описание для ctools на примере формы логина. Как туда передать свою форму, а не стандартную? Полагаю за это будет отвечать функция:
<?php$commands = ctools_modal_form_wrapper('user_login', $form_state);?>
Но в каком виде и что именно туда передавать?...

P.S.
Перечитал большую часть тем и то что выдает гугл. Везде одно и тоже и оно мне не особо помогает.

Комментарии

Аватар пользователя Lavio Lavio 14 апреля 2014 в 10:37

MerryHamster wrote:
посмотрите модуль https://drupal.org/project/modal_messages[/quote]
Риторический вопрос: зачем городить огород из модулей если такой функционал уже есть в тех что стоят?
Но все равно благодарю за помощь.
Подобных модулей со схожим назначением нашел штук 5 пока читал обсуждения и вопросы на данную тему. Меня все-таки интересует как это сделать с помощью ctools.
Почитал хелп из самого ситулс.
Там сказано что нужно подключить 2 вещи это

<?php
ctools_include
('modal');ctools_modal_add_js();
?>

Вызываться оно будет если в кнопку добавить класс ctools-use-modal.
Также нужно создать страницу с помощью hook_menu и там прописать page callback в котором и будет указано как вызвать модальное окно. И вот на этом моменте наступает ступор(...

Аватар пользователя Lavio Lavio 14 апреля 2014 в 11:36

imarat wrote:
Ui dialog + form api, зачем ctools

Я так понял Ui dialog это некая jquery-библиотека, входящая в ядро CMS, которую нужно подключать. Также она сразу создает окно при рендере страницы, которое будет "всплывать", у него есть свойство autoopen с помощью которого и отрабатывает событие по щелчку на кнопку. Тогда возникают вопросы:
если этих кнопок у меня на странице 50 шт (например отправить в корзину в длинном прайслисте), он мне отрисует и скроет 50 диалоговых окон? Как тогда это скажется на производительности? Что будет с кэшем?