Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Attachment-Manager mit Multipage-Ansicht
#1
Hallo zusammen,

ich würde gerne die Seite des Attachment-Managers über eine Multipage ausgeben. Dabei könnte ich auch u.U. z.B. eine Anzeige von 10 oder 20 Attachments pro Seite als fix setzen und hier dem User keine Einstellmöglichkeit anbieten, wenn das einfacher umzusetzen wäre.

Ich habe hierzu schon mal ein wenig gestöbert und meine, dass man in der usercp.php bei
PHP-Code:
if($mybb->input['action'] == "attachments"

die Funktion multipage() aus der functions.php einbauen müsste. Die Variable $multipage sollte dann im Template usercp_attachments_attachment integriert werden können!?

Zum einen würde mich interessieren, ob mein Gedankengang bis dahin richtig ist und wenn ja, wo genau ich in der usercp.php dann den Aufruf der die Fkt. multipage() setzen müsste.

Für Unterstützung zu meinem Vorhaben wäre ich Euch dankbar. Smile

Oder gibt es da vielleicht auch eine viel einfachere Lösung und ich habe sie nur nicht gesehen? Wink

Gruß,
Jockl
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#2
Zusätzlich müssen noch die Querys angepasst werden. Probiere es erstmal selbst. Bei Problemen helfe ich dann gerne weiter.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
Dragon schrieb:Probiere es erstmal selbst.
Das auf alle Fälle. Smile

Dragon schrieb:Zusätzlich müssen noch die Querys angepasst werden.
Du meinst vermutlich wegen der Ermittlung der Seitenzahl!? Muss ich da dieses Query anpassen
PHP-Code:
    $query $db->query("
        SELECT a.*, p.subject, p.dateline, t.tid, t.subject AS threadsubject
        FROM "
.TABLE_PREFIX."attachments a
        LEFT JOIN "
.TABLE_PREFIX."posts p ON (a.pid=p.pid)
        LEFT JOIN "
.TABLE_PREFIX."threads t ON (t.tid=p.tid)
        WHERE a.uid='"
.$mybb->user['uid']."' AND a.pid!='0'
        ORDER BY p.dateline DESC
    "
); 
oder ggf. ein neues schreiben?

Dragon schrieb:Bei Problemen helfe ich dann gerne weiter.
Danke, die kommen mit an Sicherheit grenzender Wahrscheinlichkeit!!!!! Smile
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#4
Das Query ist das richtige. Dort muss das Limit hinzugefügt werden. (LIMIT *von*,*bis*) Beide Zahlen kannst du errechnen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
Na, das ist ja schon mal ein Ansatz. Wink

Am Anfang sah alles recht übersichtlich aus, aber je tiefer ich meinen Kopf da rein stecke, umso dichter wird der Urwald. Smile Werde da erst mal versuchen, in den nächsten Tagen die verschiedenen Funktionen zu sortieren, sehen, ob ich die Zusammenhänge kapiere und auch mal die MySQL Referenzen bemühen... Wink
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#6
So, habe jetzt mal versucht, mir einen Überblick zu verschaffen, möchte aber nicht behaupten, dass ich damit sonderlich erfolgreich war. Sad

Mein Weg war deshalb, mir aus anderen Dateien, die auch Multipages aufbauen, den entsprechenden Code heraus zu holen und in die usercp.php zu stecken (siehe unten).
Immerhin habe ich damit so etwas wie Mulitpages erhalten. Naja, nicht wirklich. Wink
Es werden zum Einen anscheinend nicht alle Attachments gefunden. Zumindest stimmt die Gesamtzahl der Attachments nicht mit den Anzeige der Seitenanzahl unter Berücksichtigung der pro Seite angezeigten Attachments nicht überein. Zum Anderen wird nicht eine komplette Seite weiter gesprungen, sondern immer nur jeweils 1 Attachment weiter geblättert.

Im Moment bin ich mit meinem Latein am Ende, vermute aber, dass ich bei der DB-Abfrage von den Attachments einen Hund drin habe. Ich würde mich freuen, wenn mir jemand einen Tipp geben könnte, wo ich welche Fehler gemacht habe.

PHP-Code:
if($mybb->input['action'] == "attachments")
{
    
$plugins->run_hooks("usercp_attachments_start");
    require_once 
MYBB_ROOT."inc/functions_upload.php";
    
//ab hier eingefuegt
        // Do Multi Pages
        
$query $db->simple_select(TABLE_PREFIX."attachments""COUNT(*) AS attachments""uid='".$mybb->user['uid']."'");
        
$threadcount $db->fetch_field($query"attachments");

        
$perpage $mybb->settings['threadsperpage'];
        
$page intval($mybb->input['page']);
        if(
$page)
        {
            
$start = ($page-1) *$perpage;
        }
        else
        {
            
$start 0;
            
$page 1;
        }
        
$end $start $perpage;
        
$lower $start+1;
        
$upper $end;
        if(
$upper $threadcount)
        {
            
$upper $threadcount;
        }
        
$multipage multipage($threadcount$perpage$page"usercp.php?action=attachments");
    
//bis hier her
    
$attachments '';
    
$query $db->query("
        SELECT a.*, p.subject, p.dateline, t.tid, t.subject AS threadsubject
        FROM "
.TABLE_PREFIX."attachments a
        LEFT JOIN "
.TABLE_PREFIX."posts p ON (a.pid=p.pid)
        LEFT JOIN "
.TABLE_PREFIX."threads t ON (t.tid=p.tid)
        WHERE a.uid='"
.$mybb->user['uid']."' AND a.pid!='0'
        ORDER BY p.dateline DESC
        LIMIT  
$page$perpage
    "
);
..... 

Dankeschön! Smile
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#7
Ersetze:
LIMIT $page, $perpage
durch:
LIMIT $start, $end
Wozu sollen die Variablen denn sonst gut sein. Toungue
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#8
OK Smile

Da habe ich nicht darauf geachtet.

Allerdings scheinen die Seiten trotzdem noch irgendwie zusammen gewürfelt zu werden. So richtig habe ich das "System" noch nicht durchschaut. Jedenfalls sind die unterschiedlichen Seiten verschieden lang und teilweise wiederholen sich die Attachments auf den einzelnen Seiten!?!?

Kann es sein, dass die Variable $multipage evtl. an einer anderen Stelle eingesetzt werden muss?
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#9
Ich denke, dass es so richtig ist.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#10
Hm, das heißt.....keine Idee, wo der Fehler liegen könnte? Rolleyes
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Neue Attachment Manager Ansicht Jockl 11 4.384 24.04.2015, 13:44
Letzter Beitrag: Licht
  Multipage im Portal tomtom 12 4.250 18.05.2010, 14:17
Letzter Beitrag: tomtom
  Multipage: URL der ersten Seite soll kein Page enthalten MyBB-Fanatiker 8 3.814 21.12.2008, 14:29
Letzter Beitrag: frostschutz
  multipage() mit OnClick-Angabe? Zwoetzen 5 3.402 17.11.2008, 18:53
Letzter Beitrag: Zwoetzen
  Thumbnail in Attachment Manager Jockl 3 2.016 02.03.2008, 15:19
Letzter Beitrag: StefanT