Изграждане на възел с помощта на CTools Modal Windows и AJAX - Angarsky Blog

Здравейте другари! Накрая завърших с друг проект и сега имам малко време да споделя моя опит и да говоря за техниките, които допринасят за подобряване на използваемостта на сайта. Ще започна, може би, като създам възли чрез моите собствени формуляри: как да показвам и обработвам такива формуляри в модални прозорци CTools, на блокове - и всичко това дори използване AJAX.

Мисля, че всеки разработчик поставя Модул CTools, не всеки обаче използва неговия API. Съгласете се, че в повечето случаи този Drupal модул е инсталиран, защото е необходим Изгледи. Днес ще се опитаме да научим малко повече за този модул, а именно как да работим с модални прозорци.
Създаване на CTools бутони с AJAX
Първо, трябва да създадете връзка (или бутон), като щракнете върху която ще започне цялата магия. В моя случай показах тази връзка чрез персонализирано поле Views, но ще говоря за това в друга статия. Засега е достатъчно да знаете следното:
Създаване на възел чрез вашата собствена форма
Преди да пристъпя към описанието на функцията gm_deal_ctools_ajax_offer_deal (), вероятно ще ви кажа защо не използвах drupal_get_form () тук с идентификатор на формуляр за създаване на възел за сделка. Това е най-честата грешка, която зелените разработчици правят, когато става въпрос за създаване на персонализиран формуляр за създаване на възел.
Има два нюанса. Първият е, че трябва да свържете файла 'node.pages.inc', какво да правя $ form_state, в противен случай рискувате този файл да падне, ако има грешки при проверката. Това е същото като да се опитате да свържете .js файл с форма чрез drupal_add_js (), когато има $ form [‘# прикрепен’] [‘js’] масив. Като цяло, за да свържете файла правилно, трябва да използвате следната функция: