MyBB.de Forum

Normale Version: multipage() mit OnClick-Angabe?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Diesmal eine etwas allgemeinere Frage:
Ist es möglich, die multipage()-Funktion (functions.php) so zu manipulieren, dass ich neben der Angabe des href auch das onclick angeben kann?

Grund:
Ich bin gerade dabei, eine Brise Javascript und AJAX in meine Scripte zu streuen, und bräuchte für die Pagination nun eben Javascript als Verlinkung. Hab mir überlegt, einfach multipage() zu kopieren und anzupassen, aber das sind dann doch 90 Zeilen, die den Code unnötig aufblähen. Deshalb such ich nach einer anderen Lösung dafür.

MfG Zwoetzen
Würde es nicht reichen das einfach in die Templates zu schreiben?
Wie meinst du das jetzt genau mit den Templates anpassen?


Nur um sicher zu gehen, dass wir nicht aneinander vorbeireden:
Ich möchte für ein eigenes Script, was am Ende fast komplett auf Javascript und AJAX basieren wird, die vorgefertigte MutliPage-Funktion aus dem Forum verwenden. Nun nimmt die multipage()-Funktion nur die URL engegen, un packt sie in das href der Verlinkungen. Also man bekommt
Code:
<a href="index.php?page=X">...</a>
Ich bräuchte nun aber sowas wie:
Code:
<a href="index.php?page=X" onclick="showpage(X); return false;">...</a>
Wenn ich das jetzt einfach in die Multipage-Templates schreibe würde, wären ja komplett alle Paginations davon betroffen, was aber nicht sein soll...
Da sich das Argument zu showpage() wohl bei jedem Link ändert(?), geht es nicht statisch in den Templates. Ohne PHP-Code wirst du da dann nichts machen können.
X ist doch Nummer der Seite? Diese ist doch im Template verfügbar.
Die Seitenzahlen werden ja von multipage() bereits gesetzt, und dazu werden die entsprechenden Multipage-Tenmplates verwendet, die ich nicht verändern möchte.


Aber ich habe mitlerweile eine Lösung für mein Problem gefunden:
PHP-Code:
    $url "index.php?page={page}\" onclick=\"showpage({page}); return false;";
    
$multipage multipage($count$perpage$page$url);
    
$multipage str_replace("&quot;""\""$multipage); 
Mein Lösungsansatz ist an SQL-Injection angelehnt, und "hebelt" quasi die mutlipage()-Funktion etwas aus:
Durch die URL in der 1. Zeile ist es möglich, ein zusätzliches onclick-Attribut in die a-ags zu bringen, genau das, was ich haben wollte. In Zeile 3 wird die (unvermeidbare) Ersetzung von " zu &quot; rückgängig gemacht, sodass am Ende voll funktionsfähige a-Tags mit href und onclick entstehen Smile

(Die Idee kam mir während einer Datenbank-Vorlesung xDDD)

Trotzdem Danke an euch beide, dass ihr versucht habt, mir zu helfen Wink