skip to content
KAD::Wiki
User Tools
Log In
Site Tools
Search
Tools
Show page
Old revisions
Log In
>
You are here:
Приветствие
»
Для сотрудников
»
Разработка
»
HostCMS
»
Статьи (по модулям)
»
Информационная система
»
Динамическая подгрузка элементов
private:koding:hostcms:modules:informacionnye_sistemy:showmore
Media Files
====== Динамическая подгрузка элементов ====== При нажатии на кнопку "подгрузить еще" происходит подгрузка элементов ИС. Скрипт обращается по адресу (пример ниже) и добавляет ответ в конец контейнера ("#portfolio"). Для реализации: - Добавляем код в настройках ТДС <code php> /** * При аякс загрузке подменяем макет на пустой * * @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 */ </code> - Редактируем код XSL шаблона вывода списка элементов ИС <code xml> <xsl:template match="/informationsystem"> <xsl:choose> <xsl:when test="ajax = 1"> <!-- Выводим только элементы --> <xsl:apply-templates select="informationsystem_item[active=1]"/> </xsl:when> <xsl:otherwise> <!-- Стандартный вывод --> <!-- ... --> <!-- data-page - текущая страница --> <!-- data-pages - количество страниц --> <div data-page="{/informationsystem/page + 1}" data-pages="{ceiling(total div limit)}" id="portfolio"> <xsl:apply-templates select="informationsystem_item[active=1]"/> </div> <!-- ... --> </xsl:otherwise> </xsl:choose> </xsl:template> </code> - Подключаем js обработчик <code javascript> /** * кнопка "показать еще" * * @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 */ </code>
Save
Preview
Cancel
Edit summary
private/koding/hostcms/modules/informacionnye_sistemy/showmore.txt
· Last modified: 27.06.17 в 14:52 by
maximzasorin_gmail.com
Page Tools
Show page
Old revisions
Export to PDF
Rename Page
Back to top