Цель этого кода - загрузить еще 9 элементов содержимого серии по щелчку #loadMore с помощью запроса ajax.
Я получаю ответ от сервера, но приведенная ниже переменная смещения не обновляется в код ветки, поэтому я получаю одни и те же данные с сервера при каждом нажатии кнопки #loadMore:
{% set archive = craft.entries.section("series").limit(9).offset(offset) %}
Вот мои файлы:
series- ajax .twig:
{% set offset = craft.app.request.getParam('offset') %}
{% set archive = craft.entries.section("series").limit(9).offset(offset) %}
{% for page in archive %}
<div>
<a href="{{ page.url }}"><img class="w-392 h-246 m-8" src="{{ page.seriesArtwork.first.url }}" aria-hidden="{{ page.title }}"/></a>
</div>
{% endfor %}
ajax. js:
class Series {
constructor() {
const loadMore = document.querySelector('#loadMore');
const content = document.querySelector('#content');
let count = 9;
let offset = 1;
loadMore.addEventListener('click', function(evt) {
offset = offset + count;
axios.get('/ajax/series-ajax', { count: count, offset: offset })
.then(function (response) {
console.log(response);
content.innerHTML += response.data
console.log("offset= " + offset);
console.log("count= " + count);
})
.catch(function (error) {
// handle error
console.log(error);
});
}, false );
}
}
export { Series };
Я думаю, что проблема здесь: {% set offset = craft.app.request.getParam('offset') %}
, поскольку console.log (count) выводит правильный номер смещения.