AJAX-плагины для Smarty

Smarty и AJAX

Сегодня я написал простые плагины для Smarty, поддерживающие AJAX. Я не пытался разработать мощный фреймворк для веб-приложений,- просто хотелось дать идею, как можно интегрировать AJAX-технологию в Smarty. Но если у Вас есть любые предложения по улучшению системы, или Вы просто хотите отправить отзыв, оставьте комментарий на сайте.

На практике мне нужно несколько вещей от AJAX: обновить некоторые узлы DOM, отправить форму на сервер без перегрузки страницы, получить некоторые значения или выполнить вычисления на стороне сервера (возможно с использованием базы данных или других серверных ресурсов). Необходимо написать кучу кода JavaScript для реализации этих требований, даже несмотря на использование замечательной библиотеки JavaScript Prototype.

Я решил подружить Smarty и AJAX. Вот три плагина Smarty, которые были созданы: ajax_update, ajax_call, ajax_form. Ниже я опишу все эти плагины.

ajax_update

Эта функция Smarty может быть использована для обновления некоторых частей веб-страницы.
Пример использования:

<a href="#" mce_href="#" onclick="{ajax_update update_id='intro_content'
function='update_intro' params='page=about'}">О нас</a>

Возможные параметры:

url - URL для AJAX-запроса (если не указан URL, будет использован текущий)
method - метод запроса (по умолчанию get, может быть get или post)
update_id - ID элемента HTML для обновления
function - имя функции PHP, которая будет вызвана
params - URL-закодированные параметры

ajax_call

Эта функция Smarty может быть использована для вызова PHP-функции на стороне сервера и получения результатов ее вывода.
Пример использования:

<a href="#" mce_href="#" onclick="{ajax_call function='calculate'
params_func='calc_params' callback='calc_cb'}">Посчитать</a>

Возможные параметры:

url - URL для AJAX-запроса (если не указан URL, будет использован текущий)
method - метод запроса (по умолчанию get, может быть get или post)
function - имя функции PHP, которая будет вызвана
params - URL-закодированные параметры
callback - функция JavaScript, которая будет выполнена по завершении запроса
params_func - функция JavaScript, которая используется для вычисления параметров запроса на стороне клиента

ajax_form

Этот блок Smarty может быть использован для отправки веб-форм на сервер без перезагрузки страницы.

Пример использования:

{ajax_form method="post" id="form_register"}

Любой элемент формы может быть размещен здесь

{/ajax_form}

Возможные параметры:

url - URL для AJAX-запроса (если не указан URL, будет использован текущий)
method - метод запроса (по умолчанию get, может быть get или post)
params - URL-закодированные параметры
id - ID элемента формы
callback - функция JavaScript, которая будет выполнена по завершении запроса

Примеры

Эти плагины достаточно просты, и я думаю, что любой может создать получше моих. Я всего-лишь хотел показать идею, как можно произвести интеграцию. Рабочие примеры можно найти здесь. Кроме того, Вы можете скачать все исходники.




Рекомендуем почитать

 

Добавить комментарий


Ваше имя:


Комментарий:


Введите: Картинка