Скрипт модуля - деревоподібні коментарі PHP (Codeigniter) MySQL AJAX (jQuery)
Що ж ми робитимемо і що отримаємо в результаті цього уроку:

Завдання цих файлів можна зрозуміти за їх назвами). До речі – система роботи модуля дуже схожа з модулем форми.
Давайте заповнимо основний файл модуля Comments.php кодом - і докладніше познайомимося із системою роботи:
Багато методів нашого нового класу Comments – точна копія Forms, який ми писали у попередній статті – настійно рекомендую ознайомитися спершу з ним!

Далі функції get_comment_form і get_comment_form_ajax - ідентичні за функцією, але другу можна вивести тільки за допомогою аяксу. Навіщо так робити?
_final та _final_reply - це рендер шаблону, де виводимо подяку для користувача.

Далі – вихідний код бібліотеки модуля:
Логіку роботи цієї рекурсії ми вже розбирали під час створення модуля меню. Функції ідентичні. Модель із запитами Comments_model.php:
Думаю питань з цим файлом та запитами ActiveRecords не виникне і ми підемо далі.
Далі розберемо форму:

Шаблони comment_final.tpl та comment_disable.tpl - звичайна верстка:
Ну що ж. Необхідно додати дрібку солі зі стилів:

Чудово! Давайте прикрасимо наш унікальний модуль - шматочками ява-скрипта;)
Інші дві функції - це валідація полів форми за допомогою відмінного скрипта bootstrapValidator - який ми так само розбирали у статті форми зворотного зв'язку. Якщо не читали статтю, то негайно перейдіть до її вивчення. У ній ми докладно розбираємо цей скрипт та його роботу. Наш бутстрап валідатор дозволяє на ходу перевіряти помилки при заповненні форми та у разі їх відсутності посилає асинхронний запит на сервер та виводить відповідь у блок із формою відповіді, замінюючи її.