ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Gallery Seitenanzahl - Frage

Geschlossen
  1. #1
    User Pic
    htdocs Mitglied
    Registriert seit
    29.04.2010
    Beiträge
    492
    Beitragswertungen
    17 Beitragspunkte
    Hallo zusammen,

    Habe mal eine frage, ich habe schon nach gegoogelt aber nichts Hilfreiches gefunden.

    Gibt es ein Modul für die Gallery, um eine Seitenanzahl festzulegen?

    Diese Frage wurde schon mal gestellt von jemanden anderes aber wurde nie beantwortet ergab noch meine Suche.
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.675
    Beitragswertungen
    1212 Beitragspunkte
    Seitenanzahl festlegen?

    ...oder meinst Du Bilder pro Seite, dann Admin -> Konfig -> Gallery Optionen
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    htdocs Mitglied
    Registriert seit
    29.04.2010
    Beiträge
    492
    Beitragswertungen
    17 Beitragspunkte
    Wenn man auf index.php?gallery geht, stehen ja alle Bilder Kategorien untereinander und das ist ein bisschen nervig wenn man zu viele hat.

    Würde gerne Kategorien pro Seite haben.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    blakedj06 gelöschter User
    Suche in der include/contents/gallery.php nach:

    $tpl = new tpl ('gallery' );

    danach fügst Du folgende Zeilen ein:

            $limit = 2;
            if ($cid == 0) {
                $link = '';
                $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
            } else {
                $link = '-' . $cid;
                $page = ($menu->getA(2) == 'p' ? $menu->getE(2) : 1);
            }
            $mplk   = db_make_sites($page, 'WHERE recht >= ' . $_SESSION['authright'] . ' and cat =' . $cid, $limit, '?gallery' . $link, 'gallery_cats');
            $anfang = ($page - 1) * $limit;
            $tpl->set('MPLK', $mplk);


    Danach kommt noch ne SQL Abfrage die mit $erg beginnt da ersetzt du die ganze Zeile:

    $erg = db_query("SELECT id,name,`besch` FROM prefix_gallery_cats WHERE recht >= {$_SESSION['authright']} AND cat = ".$cid." ORDER BY pos ");


    mit der folgenden:

    $erg = db_query("SELECT id,name,`besch` FROM prefix_gallery_cats WHERE recht >= {$_SESSION['authright']} AND cat = ".$cid." ORDER BY pos LIMIT " . $anfang . "," . $limit);


    dann speicherst die Datei ab und öffnest die include/templates/gallery.htm

    und nach dem 3ten Vorkommen von {EXPLODE} kommt </table> exact danach fügst noch folgendes ein:

    <br><div align="center">{MPLK}</div>


    Bei dem limit ganz oben was auf 2 steht kannst Du den Wert der Anzahl von den Kategorien einstellen die auf einer Seite angezeigt werden sollen.

    greetz: BLaKe


    Edit 11.03.2014 - Funktioniert nun auch mit Unterkategorien.


    Zuletzt modifiziert von blakedj06 am 11.03.2014 - 16:14:42
    1 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    DragonLord2007 Mitglied
    Registriert seit
    27.04.2009
    Beiträge
    99
    Beitragswertungen
    0 Beitragspunkte
    hääää also ??

    Also wie Lord|Schirmer schon sagte, wenn du im Admin -> Konfig -> Gallery Optionen Bilder Pro Seite einstellst kommen die Seiten Automatisch.

    MFG
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.675
    Beitragswertungen
    1212 Beitragspunkte
    Er wollte ein MPL für seine Bilderkategorien, somit hat blakedj06 eine gute Lösung!


    Obwohl ich glaube, dass aufgrund der Verschachtelung in die Unterkategorien, es nur anwendbar ist, wenn keine Unterkategorien bestehen!


    Zuletzt modifiziert von Lord|Schirmer am 17.11.2010 - 22:51:58
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    blakedj06 gelöschter User
    Lord Du hast Recht ich habe db_make_sites nochmal editiert. So funktioniert es nun ohne Probleme.


    Zuletzt modifiziert von blakedj06 am 17.11.2010 - 23:59:56
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    htdocs Mitglied
    Registriert seit
    29.04.2010
    Beiträge
    492
    Beitragswertungen
    17 Beitragspunkte
    Hallo,

    Danke blakedj06, Funktioniert alles und so wollte ich das haben..

    Lest sich das auch im admin bereich eventuell umsetzen? unter admin.php?gallery.


    Zuletzt modifiziert von htdocs am 18.11.2010 - 08:28:32
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    blakedj06 gelöschter User
    Klar aber Du musst ja ne Million Kategorien haben wenn dich das sogar im ACP stört. ^^

    Hier der Weg:

    öffne include/admin/gallery.php und suche (ist gleich am Anfang)

    function gallery_admin_showcats ( $id , $stufe ) {
    global $menu;


    darunter schreibst Du dann:

    $limit = 1;
    $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1 );
    echo '<div style="padding:4px;">'.db_make_sites ($page , 'WHERE cat ='.$id, $limit , '?gallery' , 'gallery_cats' ).'</div>';
    $anfang = ($page - 1) * $limit;


    und die darauf folgende Selectabfrage die mit $q beginnt:

      $q = "SELECT a.*, b.name AS uname FROM prefix_gallery_cats a LEFT JOIN prefix_user b ON a.uploader = b.id WHERE cat = ".$id." ORDER BY pos ";


    ersetzt Du mit folgender:

      $q = "SELECT a.*, b.name AS uname FROM prefix_gallery_cats a LEFT JOIN prefix_user b ON a.uploader = b.id WHERE cat = ".$id." ORDER BY pos LIMIT " . $anfang . "," . $limit;
    1 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    htdocs Mitglied
    Registriert seit
    29.04.2010
    Beiträge
    492
    Beitragswertungen
    17 Beitragspunkte
    Naja geht, bis jetzt 2139 Kategorien..

    Verwalte aber die Kategorien immer über die Datenbank so weit es möglich ist geht immer schneller als wie über einen admin bereich.

    Derzeit leidet ja die gallery im admin bereich weil es zu viele Kategorien sind lächeln

    Werde das gleich mal einbauen dann, verkürzt ja auch die lade zeiten daurch.

    Danke dir blakedj06
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    blakedj06 gelöschter User
    Was 2139 Kategorien?

    Nutzt Du für jedes Bild eine eigene Kategorie oder was? ^^

    Schick mal den Link zu Deiner Page bitte.

    greetz: BLaKe
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    htdocs Mitglied
    Registriert seit
    29.04.2010
    Beiträge
    492
    Beitragswertungen
    17 Beitragspunkte
    Na ich mach alles offline gerade alles..

    ich bekomme eine fehler Meldung wenn ich

    ZitatZitat
    $q = "SELECT a.*, b.name AS uname FROM prefix_gallery_cats a LEFT JOIN prefix_user b ON a.uploader = b.id WHERE cat = ".$id." ORDER BY pos LIMIT " . $anfang . "," . $limit;


    einfüge, er Meldet mir das er zu der MySql nicht verbinden kann dann.
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    blakedj06 gelöschter User
    Schau mal bitte ob Du alles korrekt so eingebaut hast wie ich es beschrieben habe und nicht irgendwo ein Fehler gemacht hast.

    Ich habs bei mir getestet und die Gallery ist ein Mod wo ich auch selber noch nichts modifiziert habe wovon ich ausgehe das alles so wie bei Dir sein müsste.

    Ansonsten poste mal den Code hier oder adde mich im ICQ:133045962

    greetz: BLaKe
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    htdocs Mitglied
    Registriert seit
    29.04.2010
    Beiträge
    492
    Beitragswertungen
    17 Beitragspunkte
    So habe mal das stück code zeile was ich ja verändern muss..

    So sieht es jetzt aus:
    ZitatZitat
    function gallery_admin_showcats ( $id , $stufe ) {
    global $menu;
    $q = "SELECT * FROM prefix_gallery_cats WHERE cat = ".$id." ORDER BY pos";
    $erg = db_query($q);
    if ( db_num_rows($erg) > 0 ) {
    while ($row = db_fetch_object($erg) ) {
    if ($menu->getE('S') == $row->id) {
    $row->name = '<strong>'.$row->name.'</strong>';
    }


    Und so sieht es verändert aus:
    ZitatZitat
    function gallery_admin_showcats ( $id , $stufe ) {
    global $menu;
    $limit = 1;
    $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1 );
    echo '<div style="padding:4px;">'.db_make_sites ($page , 'WHERE cat ='.$id, $limit , '?gallery' , 'gallery_cats' ).'</div>';
    $anfang = ($page - 1) * $limit;
    $q = "SELECT a.*, b.name AS uname FROM prefix_gallery_cats a LEFT JOIN prefix_user b ON a.uploader = b.id WHERE cat = ".$id." ORDER BY pos LIMIT " . $anfang . "," . $limit;
    $erg = db_query($q);
    if ( db_num_rows($erg) > 0 ) {
    while ($row = db_fetch_object($erg) ) {
    if ($menu->getE('S') == $row->id) {
    $row->name = '<strong>'.$row->name.'</strong>';
    }



    Sollte ja so richtig sein oder? weil habe gerade ein bisschen gedenken weil diese code zeile
    ZitatZitat
    $q = "SELECT a.*, b.name AS uname FROM prefix_gallery_cats a LEFT JOIN prefix_user b ON a.uploader = b.id WHERE cat = ".$id." ORDER BY pos ";
    bei mir nicht exestiert sondern so aussieht bei mir:
    ZitatZitat
    $q = "SELECT * FROM prefix_gallery_cats WHERE cat = ".$id." ORDER BY pos";


    Liegt bestimmt auch daran lächeln
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    blakedj06 gelöschter User
    Hmm das ist seltsam welche Version von Ilch hast Du denn?

    Aber das ist auch egal in dem Fall muss die zu ersetzende Zeile wie folgt aussehen:

    $q = "SELECT * FROM prefix_gallery_cats WHERE cat = ".$id." ORDER BY pos LIMIT " . $anfang . "," . $limit;


    EDIT: Ich sehe grad das ich noch ne etwas Ältere Version habe und das bei mir halt so da steht. Ich hab auch schon lange kein Update mehr raufgetan hab glaube ich noch die 1.1n drauf.

    Sag bitte mal obs nun so funktioniert.


    Zuletzt modifiziert von blakedj06 am 18.11.2010 - 11:50:22
    1 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    htdocs Mitglied
    Registriert seit
    29.04.2010
    Beiträge
    492
    Beitragswertungen
    17 Beitragspunkte
    Jetzt gehts lächeln

    Danke
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    blakedj06 gelöschter User
    Gern geschehen und schicke Seite viel Erfolg!
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    htdocs Mitglied
    Registriert seit
    29.04.2010
    Beiträge
    492
    Beitragswertungen
    17 Beitragspunkte
    Naja bin nur aus Hilfe ^^, in kleinen sachen.

    Ganz schön viel Arbeit da grumml ,aber macht spaß.

    Wünsch dir auch viel erfolg weiterhin, danke nochmals für die Hilfe.
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    FightClub Mitglied
    Registriert seit
    02.06.2013
    Beiträge
    196
    Beitragswertungen
    1 Beitragspunkte
    ZitatZitat geschrieben von Lord|Schirmer

    Obwohl ich glaube, dass aufgrund der Verschachtelung in die Unterkategorien, es nur anwendbar ist, wenn keine Unterkategorien bestehen!


    Hallo Alle,

    Ich habe das jetzt auch mal eingebaut aber so wie Lord|Schirmer es sag ist es!

    Kann man denn es auch für die Unterkartegorien mit einbauen?
    Bin schon am Testen aber bis jetzt 0 erfolg traurig

    Das ist der Code für keine Unterkategorien!
    $hmenu = '<a class="smalfont" href="?gallery">Gallery</a>'.$catname;
        $design = new design ( $title , $hmenu );
    	  $design->header();
    		$tpl = new tpl ('gallery' );
    		
    #START# New ProJekt-AB Gallery Seitenanzahl	TEST
    		$limit = 1;
    		$page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1 );
    		$mplk = db_make_sites ($page , 'WHERE recht >= '.$_SESSION['authright'].' and cat ='.$cid, $limit, '?gallery' , 'gallery_cats');
    		$anfang = ($page - 1) * $limit;
    		$tpl->set('MPLK', $mplk);
    	
    		$erg = db_query("SELECT id,name,`besch` FROM prefix_gallery_cats WHERE recht >= {$_SESSION['authright']} AND cat = ".$cid." ORDER BY pos LIMIT " . $anfang . "," . $limit);
    #ENDE# New ProJekt-AB Gallery Seitenanzahl TEST
    
    #OR ilch  Seitenanzahl#		$erg = db_query("SELECT id,name,`besch` FROM prefix_gallery_cats WHERE recht >= {$_SESSION['authright']} AND cat = ".$cid." ORDER BY pos");			
        
    	if ( db_num_rows($erg) > 0 ) {
    		  $tpl->out(1); $class = 'Cnorm';
    			while ($row = db_fetch_assoc($erg) ) {
    			  $row['gallery'] = count_files($row['id']);
            $class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' );
    				$row['class'] = $class;
    			  $tpl->set_ar_out($row,2);
          }
    		  $tpl->out(3);
    		}
    
        $limit = $img_per_site;
        $page = ($menu->getA(2) == 'p' ? escape($menu->getE(2), 'integer') : 1 );
        $MPL = db_make_sites ($page , '' , $limit , '?gallery-'.$cid , "gallery_imgs LEFT JOIN prefix_gallery_cats ON prefix_gallery_imgs.cat = prefix_gallery_cats.id WHERE prefix_gallery_imgs.cat = ".$cid." AND (recht >= ".$_SESSION['authright']." OR recht IS NULL)");
        $anfang = ($page - 1) * $limit;
        $erg = db_query("SELECT prefix_gallery_imgs.id,prefix_gallery_imgs.cat,datei_name,endung,prefix_gallery_imgs.`besch`,klicks,vote_wertung,vote_klicks FROM prefix_gallery_imgs LEFT JOIN prefix_gallery_cats ON prefix_gallery_imgs.cat = prefix_gallery_cats.id WHERE prefix_gallery_imgs.cat = ".$cid." AND (recht >= ".$_SESSION['authright']." OR recht IS NULL) ORDER BY id ASC LIMIT ".$anfang.",".$limit);
    		if ( db_num_rows($erg) > 0 ) {
          $tpl->set('imgperline', $allgAr['gallery_imgs_per_line']);
    		  $tpl->set('cname', $cname);
          $tpl->set('breite', $allgAr['gallery_normal_width']+30);
          $tpl->set('MPL',$MPL);
          $tpl->out(4); $class = 'Cnorm';
          $i = 0;
    			while($row = db_fetch_assoc($erg) ) {
    				$class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' );
    				$row['class'] = $class;
            $row['anz_koms'] = db_result(db_query("SELECT COUNT(*) FROM prefix_koms WHERE uid = ".$row['id']." AND cat = 'GALLERYIMG'"),0);
            $row['besch'] = unescape($row['besch']);
            $row['width'] = round( 100 / $img_per_line );
            $row['bildr'] = $i + (($page-1) * $img_per_site);
            if ( $i <> 0 AND ($i % $img_per_line ) == 0 ) { echo '</tr><tr>'; }
    			  $tpl->set_ar_out($row,5);
            $i++;
    			}
          if ( $i % $img_per_line <> 0 ) {
          $anzahl = $img_per_line - ($i % $img_per_line);
          for($x=1;$x<=$anzahl;$x++){
            echo '<td class="'.$class.'"></td>';
          }
          }
    			$tpl->out(6);
    		}
    		$design->footer();
    }


    Habe ilch v.1.1.p lächeln

    MFG BennY zwinker


    Zuletzt modifiziert von FightClub am 08.03.2014 - 15:50:32
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    blakedj06 gelöschter User
    Ich hab mal mein Beitrag oben mit dem heutigen Datum und der Lösung für Unterkategorien editiert. Sollte so passen.

    Wenn das Limit sich bei den Unterkategorien anders als bei den Hauptkategorien verhalten soll dann einfach die Variable $limit in der If Abfrage definieren.


    Und hier mal ne Demo falls Fragen aufkommen.

    comgames.de/index.php?gallery

    Wie gesagt das funktioniert für alle Unterkategorien egal wie tief verschachtelt.


    Zuletzt modifiziert von blakedj06 am 11.03.2014 - 16:49:10
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    FightClub Mitglied
    Registriert seit
    02.06.2013
    Beiträge
    196
    Beitragswertungen
    1 Beitragspunkte
    Ein DankeSchön an blakedj06 zwinker

    Danke Danke Danke lachen Bier
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten