AJAX ... hierzu habe ich die Erweiterung, die du angeführt hast installiert.
Die Einrichtung dürfte geklappt haben, da die Seite auch reagiert, aber leider nicht so, wie es sein sollte.
ich fasse meine Konstellation zusammen:
Code:
<mod_newscategories>
<ul>
<li>
<a class="nav-link">
<mod_newslist>
<div>
Die mod_newscategories beinhaltet die Liste der Kategorien.
In der <mod_newslist> stehen die teaser mit Bild und 'weiterlesen'.
• Häkchen AJAX zulassen ist gesetzt
• j_cat-ajaxreload.html5 ist im Layout eingebunden und hat folgenden Inhalt
Code:
<script>
$(".mod_newscategories a.nav-link").click(function (event) {
var element;
// Don't follow the link
event.preventDefault();
// This is the elements div container like ".mod_my_module". "Allow ajax reload" has to be ticket for this element in the backend
element = $(this).closest('[class^="ce_"],[class^="mod_"]');
// Add a css class to this element. An overlay and spinning icon can be set via css
element.addClass('ajax-reload-element-overlay');
$.ajax({
method: 'POST',
url: location.href,
data: {
// The data- attribute is set automatically
ajax_reload_element: element.attr('data-ajax-reload-element')
}
})
.done(function (response, status, xhr) {
if ('ok' === response.status) {
// Replace the DOM
element.replaceWith(response.html);
}
else {
// Reload the page as fallback
location.reload();
}
});
});
</script>
Und was passiert nach Klick:
• die Seite bleibt auf der Scrollposition stehen ... soll sie auch
• die Seite wird nicht auf den erstellen Filter-link weiter geleitet
• ohne link nun auch keine Filterung ... soll nicht sein
ABer eigentlich sollte ja 'mod_newslist' ersetzt werden ... aber der click-event erfolgt auf 'mod_newscategories'
Aus dieser Überlegung raus habe ich noch diese Zeile abgeändert:
Code:
element = $(this).css('mod_newslist');
Mit dem Ergebnis, dass sich bei Klick gar nichts tut
Habe ich etwas vergessen/übersehen?
Lesezeichen