Hallo zusammen,
habe mich heute fleißig durch das Material zur ajax.php von Andreas Schrempp gekämpft und erste Teilerfolge auf Basis von Trial / Error und einiger Hinweise im Forum erzielt. So schaffe ich es jetzt, den Newsarchiv-Kalender zum dynamischen Nachladen der Newsliste zu verwenden. Das habe ich allerdings im Template bzw. einem Frontendmodul via Theme angelegt. Hier der Code:
PHP-Code:
<div id="ajax-content" style="width: 100%;">
<div id="tr_wait" style="margin: 0 auto; width: 100%; padding: 50px;z-index:10;">
<img src="plugins/slimbox/css/loading.gif" alt="loading" />
</div>
</div>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
window.addEvent('domready', function() {
var status = false;
var getNews = new Request.JSON({
evalScripts: true,
url: 'ajax.php',
method: 'get',
onSuccess: function(response)
{
$('tr_wait').setStyle('display','none');
$('ajax-content').set('html', response.content);
}
});
if (status == false) {
getNews.send('action=fmd&id=5&g=1');
}
function processRequest(targetDay) {
$('ajax-content').set('html', '<div id="tr_wait" style="margin: 0 auto; width: 100%; padding: 50px; z-index:10;"><img src="plugins/slimbox/css/loading.gif" alt="loading" /></div>');
getNews.send('action=fmd&id=5&g=1&day=' + targetDay);
}
$$('.minicalendar .days a').addEvent('click', function(event){
event.stop();
status = true;
var targetURI = this.getProperty('href');
// get day
var targetDay = targetURI.split('day=');
targetDay = targetDay[1];
processRequest(targetDay);
});
});
/*]]>*/-->
</script>
Nun stellen sich mir aber verschiedene Fragen? Wann ist so eine Lösung okay, zumal es hier gleich ein Problem gibt, wenn ich über die Paginierung zur nächsten Seite wechseln will, weil dann direkt die ajax.php aufgerufen wird? Wann lagert man dies besser in eine eigene Erweiterung aus? Wie kann eine solche AJAXified-Erweiterung prinzipiell aussehen? Wann nutzt man generateAJAX() und wann nicht?
Leider gibt es dazu keine einführende Info mehr im NEtz und alle Links auf das Tutorial vor langer Zeit sind tot.
Kann mir da jemand ein wenig auf die Sprünge helfen? Das wäre klasse.
HErzliche Grüße,
dillscher
Lesezeichen