Bitte geben Sie einen Grund für die Verwarnung an
Der Grund erscheint unter dem Beitrag.Bei einer weiteren Verwarnung wird das Mitglied automatisch gesperrt.
Verbesserungsvorschläge
Das ist so, weil ich daran gar nicht gedacht habe, danke für den Hinweis. ;-)
Einfach in "Private Mails - Home" vor {{send.startlist}} folgendes einfügen:
{{ids.start}}{{ids.end}}außerdem wieder den Link verändern
{{komma.start}}{{komma.end}}
{{send.startlist}}
{{ids.start}}{{ids}}{{komma}}{{send:id}}{{ids.end}}
{{komma.start}},{{komma.end}}
{{send.end}}
<a href="{{send:link}}&ids={{ids}}">{{send:title}}</a>
Hi Merk. Danke für die tollen Scripts.
***
Allerdings gibt es ein Problem, insbesondere mit dem IE (Seitenladefehler weil der http-String im Adressfeld limitiert ist) und dem Opera (Buttons und Grafiken werden nicht mehr korrekt dargestellt) bei der Funktion "vorherige PN - nächste PN", wenn extrem viele Messages in der Mailbox sind und die IDs bei dem IE irgendwann abgeschnitten werden.
Eventuell sollte man die IDs beschränken? Hast Du eine Idee?
Thanks.
Das müssen dann aber schon sehr viele Mails sein. Könntest du rausfinden, wie viele IDs der IE anzeigen kann ohne das sie abgehackt werden?
Um die Anzahl der IDs zu begrenzen einfach diesen Code
{{ids.start}}{{ids.end}}mit diesem ersetzen
{{komma.start}}{{komma.end}}
{{pm.startlist}}
{{ids.start}}{{ids}}{{komma}}{{pm:id}}{{ids.end}}
{{komma.start}},{{komma.end}}
{{pm.end}}
{{ids.start}}{{ids.end}}
{{komma.start}}{{komma.end}}
{{i.start}}0{{i.end}}
{{max.start}}30{{max.end}}
{{pm.startlist}}
{{i<=max.start}}
{{ids.start}}{{ids}}{{komma}}{{pm:id}}{{ids.end}}
{{komma.start}},{{komma.end}}
{{i<=max.end}}
{{i.startint}}{{i}}+1{{i.end}}
{{pm.end}}
Das gleiche noch für gesendete Mails, ersetze
{{ids.start}}{{ids.end}}mit
{{komma.start}}{{komma.end}}
{{send.startlist}}
{{ids.start}}{{ids}}{{komma}}{{send:id}}{{ids.end}}
{{komma.start}},{{komma.end}}
{{send.end}}
{{ids.start}}{{ids.end}}
{{komma.start}}{{komma.end}}
{{i.start}}0{{i.end}}
{{max.start}}30{{max.end}}
{{send.startlist}}
{{i<=max.start}}
{{ids.start}}{{ids}}{{komma}}{{send:id}}{{ids.end}}
{{komma.start}},{{komma.end}}
{{i<=max.end}}
{{i.startint}}{{i}}+1{{i.end}}
{{send.end}}
30 ist in beiden Fällen die Anzahl der maximalen IDs
Man kann dann aber immer nur die ersten X PMs der Seite durchklicken, auch wenn die zu erst angeklickte PM weiter hinten liegt. Daher sollte dann dieses Script verwendet werden, da es sonst zu Fehlern kommen kann, wenn die ID der "aktuellen" PN nicht im Array der X IDs enthalten ist:
<script language="javascript" type="text/javascript">
var ids = window.location.href;
if (ids.indexOf('&ids=') != -1) {
var href = ids.substring(0, ids.indexOf('?id=') + 4);
var id = ids.substring(ids.indexOf('?id=') + 4, ids.indexOf('&ids='));
ids = ids.substring(ids.indexOf('&ids=') + 5, ids.length);
links = ids;
ids = ids.split(',');
for (n = 0; n < ids.length; n++) {
var preid = ids[ids.length-1];
var nextid = ids[0];
if (ids[n] == id) {
if (n == 0) {
var preid = ids[ids.length-1];
var nextid = ids[n+1];
}
else {
var preid = ids[n-1];
if (n == ids.length-1) {
var nextid = ids[0];
}
else {
var nextid = ids[n+1];
}
}
}
}
document.write('<tr><td width="100%" class="ntit">');
document.write('<table width="100%" cellspacing="0" cellpadding="0"><tr><td class="ntit">');
document.write('<a href="' + href + preid + '&ids=' + links + '"> « vorherige PN</a>');
document.write('</td><td width="%20%" nowrap align="right" class="ntit">');
document.write('<a href="' + href + nextid + '&ids=' + links + '">nächste PN » </a>');
document.write('</td></tr></table></td></tr>');
}
</script>
Vielleicht finde ich noch eine Lösung, bei der z.B. immer die 15 vorherigen und 15 folgenden PNs in das Array kommen, diese wird dann aber wahrscheinlich komplizierter.
Zitat von Merk
Das müssen dann aber schon sehr viele Mails sein.
Sind fast 1000 Mails in "gesendete Nachrichten". Bei den empfangenen Nachrichten (Posteingang) taucht das Problem nur dann auf, wenn "weitere xxx Mails anzeigen" selektiert wird!
In Antwort auf:
Könntest du rausfinden, wie viele IDs der IE anzeigen kann ohne das sie abgehackt werden?
Das ist schwer zu sagen, da es auf die länge der ID-Nummern ankommt. Ich habe mittlerweile schon fünftstellige Nummern. Ich schätze mal, dass zurzeit so 50-70 Nummern ins Array mit dem IE passen.
In Antwort auf:
Vielleicht finde ich noch eine Lösung, bei der z.B. immer die 15 vorherigen und 15 folgenden PNs in das Array kommen, diese wird dann aber wahrscheinlich komplizierter.
Wäre nicht schlecht.
***
Mit dem FF läuft es noch am besten, wobei es ab und zu mal vorkommt, dass Grafiken nicht mehr angezeigt werden. Mit dem Opera gibts diese Probleme dann ständig.
Hi Merk,
nochmal ein Dankeschön für Deine Mühe!
Hab mal die modifizierten Scripts mit dem Counter eingebaut, die aber auch nicht funktionieren. Zeigt meist nur leere PNs.
***
Wie auch immer, die Idee ist nicht schlecht. Was mir persönlich nicht so zusagt, ist, dass bei stark frequentierten PN-Mailboxen dann bei jedem PN-Aufruf zig IDs ins Array geladen werden. Das ist für kleine Foren mit normalem PN-Verkehr kein Problem, kann aber bei großen Mailboxen mit den Browsern zu Fehlern kommen (Seitenladefehler beim IE und Grafikdarstellungsprobleme beim Opera u. FF).
Vermutlich werden die meisten diese Fehler gar nicht bemerken, da bei kleinen Mailboxen nur relativ wenige IDs ins Array geladen werden...
Ich hab das bei mir vorübergehend wieder ausgebaut...
Zitat von CarstenIn diesem Fall sollte "{{message:id}}" funktionieren.
Das mit den Beiträge nummerieren funktioniert soweit, aber ich wollte gerne es so das da steht welcher Beitrag das ist vom ganzen Forum.
Zitat von dokuHab gerade gemerkt, dass da ein ganz dummer Fehler im Script ist, der das Array mit den IDs mehr oder weniger außer Kraft setzt.
Hab mal die modifizierten Scripts mit dem Counter eingebaut, die aber auch nicht funktionieren. Zeigt meist nur leere PNs.
So ist es richtig:
<script language="javascript" type="text/javascript">
var ids = window.location.href;
if (ids.indexOf('&ids=') != -1) {
var href = ids.substring(0, ids.indexOf('?id=') + 4);
var id = ids.substring(ids.indexOf('?id=') + 4, ids.indexOf('&ids='));
ids = ids.substring(ids.indexOf('&ids=') + 5, ids.length);
links = ids;
ids = ids.split(',');
var preid = ids[ids.length-1];
var nextid = ids[0];
for (n = 0; n < ids.length; n++) {
if (ids[n] == id) {
if (n == 0) {
var preid = ids[ids.length-1];
var nextid = ids[n+1];
}
else {
var preid = ids[n-1];
if (n == ids.length-1) {
var nextid = ids[0];
}
else {
var nextid = ids[n+1];
}
}
}
}
document.write('<tr><td width="100%" class="ntit">');
document.write('<table width="100%" cellspacing="0" cellpadding="0"><tr><td class="ntit">');
document.write('<a href="' + href + preid + '&ids=' + links + '"> « vorherige PN</a>');
document.write('</td><td width="%20%" nowrap align="right" class="ntit">');
document.write('<a href="' + href + nextid + '&ids=' + links + '">nächste PN » </a>');
document.write('</td></tr></table></td></tr>');
}
</script>
Zitat von MerkUnd hier ist sie:
Vielleicht finde ich noch eine Lösung, bei der z.B. immer die 15 vorherigen und 15 folgenden PNs in das Array kommen, diese wird dann aber wahrscheinlich komplizierter.
In "Private Mails - Home" wieder die ursprünglichen Codes benutzen, außer bei den Links, diese wie folgt ändern
<a href="{{pm:link}}" id="{{pm:id}}">{{pm:title}}</a>für die gesendeten Nachrichten "{{pm:id}}", "{{pm:link}}" und "{{pm:title}}" mit "{{send:id}}", "{{send:link}}" und "{{send:title}}" ersetzen.
<script language="javascript" type="text/javascript">
var idarray = '{{ids}}';
idarray = idarray.split(',');
var ids = '';
var komma = '';
for (i = {{n}}-5; i <={{n}}+5; i++) {
if (i >= 0) {ids = ids + komma + idarray[i];komma = ',';
}
}
document.getElementById('{{pm:id}}').href= '{{pm:link}}&ids=' + ids;
</script>
{{n.startint}}{{n}}+1{{n.end}}
Als letztes vor das normale "{{pm.startlist}}" bzw. "{{send.startlist}}" noch "{{n.startint}}0{{n.end}}" einfügen
Hallo Merk, Du bist ein Genie!
Hab Deine modifizierten Codes nun eingebaut und es funktioniert ausgezeichnet. Je nach Countereinstellung werden immer die ersten x-messages und die nächsten x-messages ins Array geladen und können somit bearbeitet werden. Das funktioniert nun in allen Browsern ausgezeichnet. Ist jeweils das Ende der "ersten x-messages bzw. der "nächsten x-messages" erreicht, geht die Schleife wieder von vorne los. Es wird also nicht automatisch ein neuer Satz messages ins Array geladen. Das wäre zwar noch eleganter, ist aber auch so schon eine ausgezeichnete Verbesserung.
Ein kleiner Schönheitsfehler gibt es noch, wenn man in der Mailbox die letzte Message anklickt. Dann werden die "nächsten x-messages", da keine vorhanden sind, mit "undefined" angezeigt. Wie gesagt, das ist nicht problematisch, wollte ich aber nur zu Protokoll geben. ;-)
Alles in Allem, ein schönes Feature, welches nun gut funktioniert.
Vielen Dank nochmal für Deine Scripts und die Mühe, die Du Dir machst.
doku
- Informationen
- Aktuelle News
- Forum Tutorials - Tipps und Anleitungen
- SEO / Werbung fürs Forum
- Verwaltung
- Extras
- Design
- Plugin(system)
- Eure Fragen zu Tutorials
- Forum Support
- Fragen und Antworten
- Pluginsystem
- Plugins
- Templates & Sprachen
- Bugreport
- Verbesserungsvorschläge
- Sponsoren gesucht
- Das neue Xobor Business-Template
- News und Updates
- Bugreport
- Allgemeines Feedback
- Verbesserungsvorschläge
- Sonstiges
- Kaffeeklatsch
- Lob & Kritik
- Verbesserungsvorschläge
- Allgemeine Fragen
- Fehlermeldungen
- Verbesserungsvorschläge Responsive Design
- Bugreport Responsive Design
- Archiv - Alter Betatest
- Responsive Design - Verbesserungsvorschläge
- Responsive Design - Bugreport
- Fragen zum neuen Template
- Neue Administration Beta Test
- Bugreport Neue Administration
- Allgemeines Fragen & Feedback
- Verbesserungsvorschläge zur neuen Administration
- Shoutbox
Jetzt anmelden!
Jetzt registrieren!
© 2017 Xobor | Forum-Software