====== Динамическая подгрузка элементов ======
При нажатии на кнопку "подгрузить еще" происходит подгрузка элементов ИС. Скрипт обращается по адресу (пример ниже) и добавляет ответ в конец контейнера ("#portfolio").
Для реализации:
- Добавляем код в настройках ТДС /**
* При аякс загрузке подменяем макет на пустой
*
* @author Shcherbakov Aleksandr, KAD Systems (©) 2015
* @date 27-07-2015
* Начало >>
*/
if(Core_Array::getGet('ajax'))
{
Core_Page::instance()->template(
Core_Entity::factory('Template', 30) // пустой макет
);
if(Core_Array::getGet('ajax') == 'items')
{
$Informationsystem_Controller_Show
->addEntity(
Core::factory('Core_Xml_Entity')->name('ajax')->value(1)
);
}
}
/**
* << Конец
* @author Shcherbakov Aleksandr, KAD Systems (©) 2015
* @date 27-07-2015
*/
- Редактируем код XSL шаблона вывода списка элементов ИС
- Подключаем js обработчик
/**
* кнопка "показать еще"
*
* @author Shcherbakov Aleksandr, KAD Systems (©) 2015
* @date 27-07-2015
* Начало >>
*/
$(".more_posts a").live('click', function(e){
container = "#portfolio"; // контейнер для элементов
page = parseInt($(container).attr('data-page')); // текущая страница
pages = parseInt($(container).attr('data-pages')); // общее число страниц
if(page >= pages)
{
return false;
}
e.preventDefault();
$.loadingScreen('show');
jQuery.ajax({
type: 'GET',
url: 'page-' + (page + 1) + '/',
data: 'ajax=items',
success: function(content){
$(container).append(content);
$(container).attr('data-page', ++page);
if(page >= pages)
{
// скрываем кнопку показать еще
$(".more_posts").css("display", "none");
}
$.loadingScreen('hide');
}
});
});
/**
* << Конец
* @author Shcherbakov Aleksandr, KAD Systems (©) 2015
* @date 27-07-2015
*/