Advanced search  

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Pages: [1]   Go Down

Author Topic: [Solved]: Kategorien auf Startseite nebeneinander  (Read 8769 times)

0 Members and 1 Guest are viewing this topic.

ToniK

  • Coppermine newbie
  • Offline Offline
  • Posts: 8
[Solved]: Kategorien auf Startseite nebeneinander
« on: July 14, 2008, 08:21:41 pm »

Hallo Zusammen.

Wir Arbeiten mit vielen Verschachtelten Kategorien.
Auf der Startseite http://www.makro-forum.de/artengelerie/index.php werden die Kategorien alle untereinander angezeigt, was dazu führt, dass man schon jetzt (es sind noch weitere Mutterkategorien geplant), stark scrollen muss.

Würde man aber die 2. Kategorie-Ebenen nebeneinander anzeigen, wäre es sehr viel übersichtlicher.
Im Anhang ein Bild, wie ich es mir vorstelle.

Gibt es dafür schon ein MOD?
Wenn nein, wer würde dieses Vorhaben für uns umsetzten?
Bezahlung via PayPal.

Gruß Toni
« Last Edit: July 19, 2008, 10:45:44 pm by Joachim Müller »
Logged

Joachim Müller

  • Dev Team member
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 47843
  • aka "GauGau"
    • gaugau.de
Re: Kategorien auf Startseite nebeneinander
« Reply #1 on: July 15, 2008, 06:54:26 am »

Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15765
Re: Kategorien auf Startseite nebeneinander
« Reply #2 on: July 15, 2008, 03:45:37 pm »

Oder kurz: kopiere mal folgendes in deine "theme.php" und schau, ob es das gewünschte Ergebnis bringt :)
Code: [Select]
// HTML template for the category list
$template_cat_list = <<<EOT
<!-- BEGIN header -->
        <tr>
                <td class="tableh1" width="40%"><b>{CATEGORY}</b></td>
                <td class="tableh1" width="5%" align="center"><b>{ALBUMS}</b></td>
                <td class="tableh1" width="5%" align="center"><b>{PICTURES}</b></td>
                <td class="tableh1" width="40%"><b>{CATEGORY}</b></td>
                <td class="tableh1" width="5%" align="center"><b>{ALBUMS}</b></td>
                <td class="tableh1" width="5%" align="center"><b>{PICTURES}</b></td>
        </tr>
<!-- END header -->
<!-- BEGIN catrow_noalb -->
        <tr>
                <td class="tableh2" colspan="6"><table border="0"><tr><td>{CAT_THUMB} {DEBUG}</td><td><span class="catlink"><b>{CAT_TITLE}</b></span>{CAT_DESC}</td></tr></table></td>
        </tr>
<!-- END catrow_noalb -->
<!-- BEGIN catrow -->
                <td class="tableb"><table border="0"><tr><td>{CAT_THUMB}</td><td><span class="catlink"><b>{CAT_TITLE}</b></span>{CAT_DESC}</td></tr></table></td>
                <td class="tableb" align="center">{ALB_COUNT} {DEBUG}</td>
                <td class="tableb" align="center">{PIC_COUNT}</td>
<!-- END catrow -->
<!-- BEGIN catrow_blank -->
                <td class="tableb" align="center"></td>
                <td class="tableb" align="center">{DEBUG}</td>
                <td class="tableb" align="center"></td>
<!-- END catrow_blank -->
<!-- BEGIN footer -->
        <tr>
                <td colspan="6" class="tableh1" align="center"><span class="statlink"><b>{STATISTICS}</b></span></td>
        </tr>
<!-- END footer -->
<!-- BEGIN spacer -->
        <img src="images/spacer.gif" width="1" height="7" border="" alt="" /><br />
<!-- END spacer -->

EOT;

function theme_display_cat_list($breadcrumb, &$cat_data, $statistics)
{
        global $template_cat_list, $lang_cat_list;

        starttable('100%');

        if (count($cat_data) > 0) {
                $template = template_extract_block($template_cat_list, 'header');
                $params = array('{CATEGORY}' => $lang_cat_list['category'],
                '{ALBUMS}' => $lang_cat_list['albums'],
                '{PICTURES}' => $lang_cat_list['pictures'],
                );
                echo template_eval($template, $params);
        }

        $template_noabl = template_extract_block($template_cat_list, 'catrow_noalb');
        $template = template_extract_block($template_cat_list, 'catrow');
        $template_blank = template_extract_block($template_cat_list, 'catrow_blank');

        $count=0;
        $columnCount=2;
        echo "<tr>";   
   
        foreach($cat_data as $category) {
                $count++;   
                if (count($category) == 3) {
                        if ($count%$columnCount==0) {
                                $params = array('{DEBUG}' => "");
                                echo template_eval($template_blank, $params);
                        }
                        $params = array('{CAT_TITLE}' => $category[0],
                                                                '{CAT_THUMB}' => $category['cat_thumb'],
                                                                '{CAT_DESC}' => $category[1],
                                                                '{DEBUG}' => ""
                        );
                        $count=0;
                        echo template_eval($template_noabl, $params);
                } else {
                        $params = array('{CAT_TITLE}' => $category[0],
                                                                '{CAT_THUMB}' => $category['cat_thumb'],
                                                                '{CAT_DESC}' => $category[1],
                                                                '{CAT_ALBUMS}' => $category['cat_albums'],
                                                                '{ALB_COUNT}' => $category[2],
                                                                '{PIC_COUNT}' => $category[3],
                                                                '{DEBUG}' => ""
                        );
                        echo template_eval($template, $params);
                }
                if ($count%$columnCount==0) {
                        echo "</tr> <tr>";
                }
        }

         echo "</tr>";
    if ($statistics && count($cat_data) > 0) {
        $template = template_extract_block($template_cat_list, 'footer');
        $params = array('{STATISTICS}' => $statistics);
        echo template_eval($template, $params);
    }
    endtable();

    if (count($cat_data) > 0)
        echo template_extract_block($template_cat_list, 'spacer');
}
Logged

ToniK

  • Coppermine newbie
  • Offline Offline
  • Posts: 8
Re: Kategorien auf Startseite nebeneinander
« Reply #3 on: July 15, 2008, 06:09:08 pm »

Vielen Dank für den Link.

Es ist leider nicht wirklich das was ich Suche.
Das Problem ist, dass die Kategorien nur dann nebeneinander angezeigt werden, wenn sich in der Hauptkategorie nur eine weitere Kategorie befindet.
Sind mehre Kategorien ineinander Verschachtelt (was bei mir fast ausnahmslos der fall ist), werden sie weiterhin untereinander angezeigt.

Dem Code kann ich die Ursache für dieses Verhalten leider nicht entnehmen. Dafür reichen meine php-Kenntnisse nicht aus.

Vielleicht kann mir hier ja jemand behilflich sein.
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15765
Re: Kategorien auf Startseite nebeneinander
« Reply #4 on: July 15, 2008, 06:34:22 pm »

Meine Galerie ist wie folgt verschachtelt:

-Kategorie 1
--Unterkategorie 1.1
--Unterkategorie 1.2
-Kategorie 2
--Unterkategorie 2.1
--Unterkategorie 2.2

Damit werden immerhin die Unterkategorien nebeneinander (zu ihren Kategorien gehörig) in zwei Spalten dargestellt. Wenn ich etwas Zeit finde, kann ich ja mal über den Code drüberschauen ;)
Logged

ToniK

  • Coppermine newbie
  • Offline Offline
  • Posts: 8
Re: Kategorien auf Startseite nebeneinander
« Reply #5 on: July 15, 2008, 07:39:20 pm »

Das wäre klasse, eenemeenemuu!

Wäre es möglich, dass sich das nebeneinander legen der der Unterkategorie nur auf die Startseite auswirkt?
Ich sehe nämlich gerade, dass sich das Layout auch ändert, wenn man die die Unterkategorie aufruft.
Ich bin mir noch nicht sicher ob ich das gut finden soll oder nicht  ;D
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15765
Re: Kategorien auf Startseite nebeneinander
« Reply #6 on: July 17, 2008, 03:05:30 pm »

Finde:
Code: [Select]
                if (count($category) == 3) {und ersetze mit:
Code: [Select]
                if (count($category) == 4) {
Ich weiss nicht, ob das bei dir das gewünscht Ergebnis bringt. Dabei werden alle Kategorien einfach hintereinanderweg aufgelistet. Bei mir sieht es damit nicht mehr so toll aus. Teste es mal bitte :)


[edit: Wenn du den Quellcode ansonsten so lässt und bei den Einstellungen -> Ansicht Albenliste -> Anzahl angezeigter Kategorie-Ebenen -> "3" einstellst, sollte es funktionieren.]
« Last Edit: July 17, 2008, 03:24:44 pm by eenemeenemuu »
Logged

ToniK

  • Coppermine newbie
  • Offline Offline
  • Posts: 8
Re: Kategorien auf Startseite nebeneinander
« Reply #7 on: July 19, 2008, 07:37:43 pm »

Danke eenemeenemuu!

Aber wie bei dir, schaut das bei mir nicht wirklich gut aus.
Es ist quasi alles durcheinander und nicht nach Mutterkategorie gelistet.
Zudem beschränkten sich die Änderungen nicht nur auf die Startseite, sondern auch auf darunterliegenden Ebenen.
Ich hab dann noch mal ein bisschen hier und da raumgeschraubt, aber wirklich besser wurde es dadurch nicht.

Nun bin ich einen ganz anderen Weg gegangen.
Getreu dem Motto: Man darf zwar dumm sein, muss sich aber zu helfen wissen ;)

Mir gefällts soweit ganz gut. Da lässt sich bestimmt noch manches optimieren, aber bis die Galerie online geht, hab ich ja noch ein paar Tage.

Fällt euch was auf?
http://www.makro-forum.de/artengelerie/
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15765
Re: Kategorien auf Startseite nebeneinander
« Reply #8 on: July 19, 2008, 07:45:21 pm »

Und was/wie hast du das gemacht? Wäre bestimmt für andere interessant :)
Logged

Joachim Müller

  • Dev Team member
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 47843
  • aka "GauGau"
    • gaugau.de
Re: Kategorien auf Startseite nebeneinander
« Reply #9 on: July 19, 2008, 07:47:43 pm »

Na, in etwa so wie hier: http://osterburken.net/galerie/  ;)
« Last Edit: July 19, 2008, 07:53:15 pm by Joachim Müller »
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15765
Re: Kategorien auf Startseite nebeneinander
« Reply #10 on: July 19, 2008, 07:52:34 pm »

*grübel* ich steh heut wohl aufm Schlauch.. oder es ist einfach zu lange her, dass ich mich mit dem Anlegen von Kategorien und der ganzen Struktur auseinandergesetzt habe ::) Wenn die Lösung eigentlich auf der Hand liegt, könnte man das Thema ja als gelöst markieren.. das kann ich gerade aber nicht beurteilen 8)
Logged

Joachim Müller

  • Dev Team member
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 47843
  • aka "GauGau"
    • gaugau.de
Re: Kategorien auf Startseite nebeneinander
« Reply #11 on: July 19, 2008, 07:53:31 pm »

Habe ich mal unter http://forum.coppermine-gallery.net/index.php/topic,49123.0.html vorgestellt (und dem anderen Thread, auf den ich dort verweise).

@ToniK: hast Du Dich dort bedient? Bitte immer beim Auflösen des Threads beschreiben, wie Du zur Lösung gekommen bist bzw. woher Du Dein Wissen hast.
Logged

Joachim Müller

  • Dev Team member
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 47843
  • aka "GauGau"
    • gaugau.de
Re: Kategorien auf Startseite nebeneinander
« Reply #12 on: July 19, 2008, 07:55:48 pm »

Hier nochmal Auszüge des von mir verwendeten Codes in theme.php auf osterburken.net:
Code: [Select]
// HTML template for the category list
$template_cat_list = <<<EOT
<!-- BEGIN header -->
<!-- END header -->
<!-- BEGIN catrow_noalb -->
        <tr>
                <td class="tableh2" colspan="2">
                  <table border="0">
                    <tr>
                      <td>{CAT_THUMB} {DEBUG}</td>
                      <td><span class="catlink"><b>{CAT_TITLE}</b></span>{CAT_DESC}</td>
                    </tr>
                  </table>
                </td>
        </tr>
<!-- END catrow_noalb -->
<!-- BEGIN catrow -->
                <td class="tableb" valign="top">
                        <div style="float:left;margin-right:5px;margin-bottom:5px;">{CAT_THUMB}</div>
                        <span class="catlink">{CAT_TITLE}</span>{CAT_DESC}<br />
                        <div align="right" class="small">{ALB_COUNT} Alben, {PIC_COUNT} Bilder</div>
                        {DEBUG}
                </td>
<!-- END catrow -->
<!-- BEGIN catrow_blank -->
                <td class="tableb" align="center">{DEBUG}</td>
<!-- END catrow_blank -->
<!-- BEGIN footer -->
        <tr>
                <td colspan="6" class="tableh1" align="center"><span class="statlink"><b>{STATISTICS}</b></span></td>
        </tr>
<!-- END footer -->
<!-- BEGIN spacer -->
        <img src="images/spacer.gif" width="1" height="7" border="" alt="" /><br />
<!-- END spacer -->

EOT;


function theme_display_cat_list($breadcrumb, &$cat_data, $statistics)
{
  // Taken from http://coppermine-gallery.net/forum/index.php?topic=15400.msg107765#msg107765
  global $template_cat_list, $lang_cat_list;

  starttable('100%');

  if (count($cat_data) > 0) {
    $template = template_extract_block($template_cat_list, 'header');
    $params = array('{CATEGORY}' => $lang_cat_list['category'],
    '{ALBUMS}' => $lang_cat_list['albums'],
    '{PICTURES}' => $lang_cat_list['pictures'],
    );
    echo template_eval($template, $params);
  }

  $template_noabl = template_extract_block($template_cat_list, 'catrow_noalb');
  $template = template_extract_block($template_cat_list, 'catrow');
  $template_blank = template_extract_block($template_cat_list, 'catrow_blank');

  $count=0;
  $columnCount=2;
  echo "<tr>";

  foreach($cat_data as $category) {
    $count++;
    if (count($category) == 3) {
      if ($count%$columnCount==0) {
        $params = array('{DEBUG}' => "");
        echo template_eval($template_blank, $params);
      }
      $params = array('{CAT_TITLE}' => $category[0],
                '{CAT_THUMB}' => $category['cat_thumb'],
                '{CAT_DESC}' => $category[1],
                '{DEBUG}' => ""
      );
      $count=0;
      echo template_eval($template_noabl, $params);
    } else {
      $params = array('{CAT_TITLE}' => $category[0],
                '{CAT_THUMB}' => $category['cat_thumb'],
                '{CAT_DESC}' => $category[1],
                '{CAT_ALBUMS}' => $category['cat_albums'],
                '{ALB_COUNT}' => $category[2],
                '{PIC_COUNT}' => $category[3],
                '{DEBUG}' => ""
      );
      echo template_eval($template, $params);
    }
    if ($count%$columnCount==0) {
      echo "</tr>\n\r <tr>";
    }
  }

   echo "</tr>";
    if ($statistics && count($cat_data) > 0) {
        $template = template_extract_block($template_cat_list, 'footer');
        $params = array('{STATISTICS}' => $statistics);
        echo template_eval($template, $params);
    }
    endtable();

    if (count($cat_data) > 0)
        echo template_extract_block($template_cat_list, 'spacer');
}
Logged

ToniK

  • Coppermine newbie
  • Offline Offline
  • Posts: 8
Re: Kategorien auf Startseite nebeneinander
« Reply #13 on: July 19, 2008, 08:03:12 pm »

Also die osterburken Aufteilung  ist ne ganz andere als meine.

Ich hätte schon verraten wie ich es gemacht habe, ich wollte nur mal sehen, ob euch etwas auffällt.

Die Lösung:
Eine HTML-Startseite

Für die meisten sicher unbrauchbar, für mich aber ideal, zumal sich diese bei mir zukünftig auch kaum ändern wird.
Logged
Pages: [1]   Go Up
 

Page created in 0.023 seconds with 19 queries.