Форум программистов, компьютерный форум, киберфорум
PHP: Фреймворки
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
102 / 93 / 36
Регистрация: 01.04.2013
Сообщений: 654

Как использовать шаблон подгружаемого контента на PHP и JS

05.05.2017, 07:53. Показов 884. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть таблица с данными.
При загрузке таблицы запрос берёт первые 50 строчек. И отображает их в таблице используя шаблонизатор twig
HTML5
1
2
3
4
5
6
7
8
9
10
<tbody>
    {% for row in rows %}
        <tr>
            <td>{{ row.id}}</td>
            <td data-field="date_created">{{ row.date_created}}</td>
            <td data-field="roll_number">{{ row.roll_number }}</td>
            <td><button data-type="relocation" class="btn btn-primary">Переместить</button></td>
        </tr>
     {% endfor %}
</tbody>
После самой таблицы есть кнопка, нажатие которой вызывает подгрузку аяксом ещё 50 строк и тд.

В колбеке аякса примерно такой код
JavaScript
1
2
3
4
5
6
7
8
loadedRows = data.map(function (item, i) {
    var rowContent = '<td>'+item[0]+'</td>'+
        '<td data-field="date_created">'+item[1]+'</td>'+
        '<td data-field="roll_number">'+item[2]+'</td>'+
        '<td><button data-type="relocation" class="btn btn-primary">Переместить</button></td>';
    return '<tr>' + rowContent + '</tr>';
}).join('');
$('table').find('tr:last').after(loadedRows);
Но сам шаблон строки таблицы иногда видоизменяется. Поэтому необходимо помимо него менять ещё и js-код.
Можно ли как-нибудь ухитриться, чтобы не приходилось менять колбек аякса?

Добавлено через 11 часов 57 минут
На сайтах же часто при загрузке страницы отображается часть всего контента. И только потом при прокрутке страницы добавляется остальное.

Как использовать элемент подгружаемого контента вначале на сервере (при загрузке страницы) и на клиенте (при аякс-запросе)?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.05.2017, 07:53
Ответы с готовыми решениями:

Долгая загрузка строк на PHP странице из-за подгружаемого внешнего скрипта JS
Здравствуйте! Подскажите пожалуйста в каком направлении двигаться. У меня написан сайт на PHP по шаблону проектирования MVC. Есть...

Возможно ли использовать один "шаблон" для php и js
Уважаемые форумчане. С наступающим Вас новым годом! Хотел узнать у специалистов такой вопрос. Есть на php в классе метод, который выводит...

Как использовать XML-шаблон письма в коде C#?
Помогите разобраться в примере, представленном в источнике (MSDN) С кодом C# понятно. Мне не ясно, как поступать с XML-фрагментами....

6
7 / 6 / 4
Регистрация: 01.10.2015
Сообщений: 20
06.05.2017, 01:00
1. Взгляните в сторону JavaScript MVC/MVVM фреймворков. Например React или Backbone. У Backbone реализована синхронизация данных с клиентским темплейтом(как twig, только рендериться в javaScript) при их добавлении.
2. Это называется пагинацией. Стоит поискать библиотеки.
1
102 / 93 / 36
Регистрация: 01.04.2013
Сообщений: 654
07.05.2017, 10:59  [ТС]
Цитата Сообщение от Aleksey D Посмотреть сообщение
Взгляните в сторону JavaScript MVC/MVVM фреймворков. Например React или Backbone. У Backbone реализована синхронизация данных с клиентским темплейтом(как twig, только рендериться в javaScript) при их добавлении.
Использую Codeigniter. Там вроде ничего такого нет. В Backbone по какому принципу идёт синхронизация?
0
7 / 6 / 4
Регистрация: 01.10.2015
Сообщений: 20
08.05.2017, 19:03
Происходит ре-рендеринг при срабатывании определенного события(при добавлении модели в коллекцию, например).
0
56 / 54 / 33
Регистрация: 05.11.2014
Сообщений: 259
08.05.2017, 20:59
Можешь запрашивать через AJAX не данные, а сформированный блок.
То есть на сервере срендерится кусок страницы, который ты потом приклеишь к концу контейнера со строками.
JS в разы упростится.
1
102 / 93 / 36
Регистрация: 01.04.2013
Сообщений: 654
11.05.2017, 15:46  [ТС]
Цитата Сообщение от PavelPol Посмотреть сообщение
Можешь запрашивать через AJAX не данные, а сформированный блок.
Тоже так подумал, надо просто добавить условие, при котором будут рендериться только нужные строки tbody.
0
56 / 54 / 33
Регистрация: 05.11.2014
Сообщений: 259
12.05.2017, 07:27
Firework, конечно. Входные данные для отсева можно передать GET или POST параметрами.
По хорошему, еще запретить получать данные не ajax.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.05.2017, 07:27
Помогаю со студенческими работами здесь

Как послать почту, стандартным Outlook или из CDO чтобы как тело письма использовать шаблон?
Добрый день, интересует вопрос, как послать почту, стандартным Outlook или из CDO чтобы как тело письма использовать шаблон из како-го то...

Вставка контента в шаблон
Добрый день всем! Страницы сайта формируются динамически, html-шаблон отдельный файл, в который передаются нужные переменные. ...

Использовать шаблон Excel, сохраненный в базе данных как вложение
Здравствуйте! Не могу решить вот такую проблему. Необходимо распечатать отчет в формате Excel на основе шаблона - это я сделал. ...

Вывод контента через шаблон
Короче тема такая. Делаю шаблон, надо вывести контент пытаюсь вывести так &lt;?php $content = get_post(get_the_ID()); ...

Как подключить шаблон к php
Учусь самописные сайты делать, не могу понять как к index.php подклячить html или tpl шаблоны ?? (или какой самый проще подцепить ?? без...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru