TYPO3 (v9.5) Загрузка новостей с помощью Ajax - PullRequest
0 голосов
/ 15 ноября 2018

Я хотел бы загрузить подробное представление списка новостей через Ajax.Перезагрузка страницы не является хорошим UX - было бы лучше, если бы старые детали исчезали, пока список оставался на месте слева (или где бы то ни было), и менялось только подробное представление статьи.

Проблемы:

  • SEO может сломаться
  • Уникальные URL-адреса для статьи могут быть проблемой без расширения News

Я пытаюсь заставить это работать: https://gist.github.com/markhowellsmead/98de3dbaaec2faf52e0863907b5e403e

также просматривает: http://unterricht.lacheiner.net/index.php?id=217 Который является примером загрузки дополнительных элементов списка новостей

Я также рассчитываю получить полный URL-адрес детали и использовать его для загрузки деталейсо страницы с уникальным шаблоном только для сведений, например www.example.com/?type=9999, который содержит только подробности

, наконец, просматривая URL Routing http://www.softfinity.com/blog/an-simple-introduction-to-url-routing/

1 Ответ

0 голосов
/ 15 ноября 2018

Я бы не рекомендовал это, так как это нарушит поведение браузера по умолчанию, например, назад и вперед, затруднит прямую ссылку на новость и т. Д. Но если вы действительно хотите это сделать, я бы сделал это, добавивсобытие click для тега a для ссылки на страницу сведений в представлении списка, получение URL-адреса, получение страницы сведений с использованием ajax, затем получение только той части страницы, которую я хочу, и ее отображение.

Например (с использованием jQuery):

$('div.newsList div.item a').click(function() {
    doStuffToShowItsLoading();

    //
    $.ajax(this.href, {
        dataType: 'html',
        success: function(jqXHR, textStatus) {
            var detailHtml = $(jqXHR.responseText).find('div.newsDetails');
            $('div.newsDetail').html(detailHtml);

            doStuffToStopShowingItsLoading();
        },
        error: function() {
            alert('Something went wrong');
        }
    });
    return false;
});

Таким образом, ссылки могут по-прежнему отслеживаться поисковыми системами или людьми, у которых отключен JavaScript.

...