Hallo zusammen,
ich versuche gerade Module bzw. Elemente aus einen Artikel mittels Ajax nach zu laden. Dazu benutzte ich folgende Erweiterung "contao-ajax_reload_element". Ich habe ein Element erstellt und bei diesem den Harken bei "Ajax-Relaod erlauben" gesetzt. Zu dem habe ich folgendes Skript unter dem Seitenlayout bei jQuery mit eingebunden.
j_ajax.html5
Code:
<script>
$(".mod_my_module a.reloadThisElementOnClick").click(function (event) {
// Don't follow the link
event.preventDefault();
// Var containing the elements div container like ".mod_my_module"
var 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: 'GET',
url: 'SimpleAjaxFrontend.php',
data: {
action: 'reload-element',
// The data- attribute is set automatically
element: element.attr('data-ajax-reload-element'),
// Some elements use an auto_item to fetch particular content. The auto_item will automatically set in a data- attribute
auto_item: (typeof element.attr('data-ajax-reload-auto-item') != typeof undefined) ? element.attr('data-ajax-reload-auto-item') : '',
// A page id can be set optionally. Necessary for elements that work with different language files
page: <?= $GLOBALS['objPage']->id ?>
}
})
.done(function (response, status, xhr) {
if (response.status == 'ok') {
// Replace the DOM
element.replaceWith(response.html);
}
else {
// Reload the page as fallback
location.reload();
}
});
});
</script>
Das ich hier natürlich gerade keinen passenden Link auf der Site habe weiß ich. Was mich jetzt aber verwundert, dass die Inhalte welche mittels Ajax nachgeladen werden sollten angezeigt werden. Ich dachte ich müsste erst das Skript ausführen über ein Click-Event.
Ich denke das ich noch irgendwas falsch mache.
Contao Installation ist 3.5.19 und Extension ist 1.0.2 mittels Composer installiert.
Anbei der Link zu meiner Test Seite: Link
Vielen Dank vorab für Eure Unterstützung :-)
Grüße
Andre
Lesezeichen