topleft topright
 

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

Печать E-mail
(0 голосов)

Источник: http://kpumuk.info/

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

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

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

 

ajax_update

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

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

 

<a 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="#" 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, которая будет выполнена по завершении запроса

Примеры

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

 
« AJAX-плагины для Smarty Часть 2: ajax_form   ASP.NET Atlas – внедрение технологии AJAX (Asynchronous JavaScript + XML) »

Украинская Баннерная Сеть
PR и тИЦ