forum.coppermine-gallery.net

Support => Deutsch (German) => Language Specific Support => cpg1.4.x Deutsch (German) => Topic started by: Gine on October 25, 2008, 11:45:32 am

Title: identische Themes für smf und coppermine erstellen
Post by: Gine on October 25, 2008, 11:45:32 am
Hallo,

möchte zwei identische Themes für smf und coppermine erstellen und komme beim coppermine Theme nicht weiter. Ganz oben wird jeweils die Navigation angezeigt und ich möchte gern den jeweiligen Link farblich anders gestalten, wenn der Link aktiv ist.

Beispiel: Ich klicke auf den Link Alben-Liste und der Link erscheint in einer anderen Schriftfarbe und zusätzlich soll noch eine andere Hintergrundgrafik angezeigt werden.

Gut zu erkennen hier an einem smf Beispiel: http://www.jpr62.com/theme/index.php?board=1.0

Hier kann man hin und her navigieren und es wird immer eine andere Hintergrundgrafik angezeigt. Bei coppermine bekomme ich das nur als hover Link gestaltet, nicht aber für die aktiven Links.

Gibt es wo einen Workaround zum Thema?






Title: Re: identische Themes für smf und coppermine erstellen
Post by: Αndré on October 25, 2008, 12:17:21 pm
Ich kann dir nicht sagen, ob es dazu schon eine Lösung gibt.
Mein Lösungsansatz wäre: mit php überprüfen, welche get-Parameter übergeben wurden und dann das Menü entsprechend zusammenbauen.

Keine Ahnung ob es einen besseren/einfacheren Weg gibt.
Title: Re: identische Themes für smf und coppermine erstellen
Post by: Gine on October 25, 2008, 02:39:58 pm
Nun gut… ich hebe mir das Problem bis zuletzt auf, da mir ansonsten die Lust vergeht bei der ganzen Sucherei. Falls das jemand für mich machen kann, würde ich im Gegenzug mein Template in Wunschfarbe eintauschen.
Title: Re: identische Themes für smf und coppermine erstellen
Post by: Αndré on December 02, 2008, 07:53:47 pm
Ich habe was für das classic-Theme gebastelt.

Stell sicher, dass die Funktion theme_main_menu in deiner theme.php vorhanden ist.
Dann fügst du nach den globals
Code: [Select]
   global $AUTHORIZED, $CONFIG, $album, $actual_cat, $cat, $REFERER;
    global $lang_main_menu, $template_sys_menu, $template_sub_menu;
folgendenden Code ein:
Code: [Select]
// start mark active link
    global $PHP_SELF;
    $chosen = '" style="background: #344654;color: #efefef;';

    // meta albums
    switch($_GET['album'])
    {
      case 'favpics':
        if (!strstr($lang_main_menu['fav_title'], $chosen))
            $lang_main_menu['fav_title'] .= $chosen;
        break;

      default:
        if (!strstr($lang_main_menu[$_GET['album'].'_title'], $chosen))
            $lang_main_menu[$_GET['album'].'_title'] .= $chosen;
    }

    // other files
    switch($PHP_SELF)
    {
      case 'index.php':
        if (!strstr($lang_main_menu['alb_list_title'], $chosen))
            $lang_main_menu['alb_list_title'] .= $chosen;
        break;

      case 'upload.php':
        if (!strstr($lang_main_menu['upload_pic_title'], $chosen))
            $lang_main_menu['upload_pic_title'] .= $chosen;
        break;

      default:
        if (!strstr($lang_main_menu[basename($PHP_SELF, ".php").'_title'], $chosen))
            $lang_main_menu[basename($PHP_SELF, ".php").'_title'] .= $chosen;
    }
// end mark active link
Das sollte schonmal für die meisten Standardlinks funktionieren. Setz dich am besten mit dem Code etwas auseinander. Sollte nicht wirklich schwierig nachzuvollziehen und ggf. anzupassen sein.
Title: Re: identische Themes für smf und coppermine erstellen
Post by: Martin84 on March 09, 2009, 10:44:00 am
Klasse, genau danach habe ich gesucht, danke :-)
Title: Re: identische Themes für smf und coppermine erstellen
Post by: T.Gauck on May 23, 2009, 07:17:32 pm
$chosen = '" style="background: #344654;color: #efefef;';


Lässt sich statt dem "style="background: #344654;color: #efefef;" auch eine Klasse hinzufügen?

In etwa so:
Code: [Select]
$chosen = '"class="current';
Leider wird dann zweimal die Klasse "class="current" in einem Link gelistet.

Code: [Select]
<a href="index.php?cat=0" title="Gehe zur Alben-Liste"class="current"class="current">Alben-Liste</a>
Warnung: dropping value "current" for repeated attribute "class"  ::) 





Title: Re: identische Themes für smf und coppermine erstellen
Post by: Αndré on May 23, 2009, 08:06:59 pm
Warnung: dropping value "current" for repeated attribute "class"  ::) 
Link?
Title: Re: identische Themes für smf und coppermine erstellen
Post by: T.Gauck on May 24, 2009, 07:10:31 pm
Lässt sich statt dem "style="background: #344654;color: #efefef;" auch eine Klasse hinzufügen?

In etwa so:
Code: [Select]
$chosen = '"class="current';
Code: [Select]
<a href="index.php?cat=0" title="Gehe zur Alben-Liste"class="current"class="current">Alben-Liste</a>
Warnung: dropping value "current" for repeated attribute "class"  ::) 


Bei "style="background: #344654;color: #efefef;" wird der style auch doppelt gelistet.  ::)

Vermutlich weil zwei Abfragen einen Link ergeben.

Code: [Select]
// HTML template for template sys_menu buttons
  $template_sys_menu_button = <<<EOT
  <!-- BEGIN {BLOCK_ID} -->
   <a href="{HREF_TGT}" title="{HREF_TITLE}">{HREF_LNK}</a>



Kann man evtl. als Notlösung den alt Text beim hover "title="Gehe zur Alben-Liste" entfernen, ohne den kompletten Link zu verlieren?

Theme habe ich momentan nur lokal am Laufen. Werde aber mal ein identisches mit "$chosen = '"class="current';" erstellen und installieren.
Title: Re: identische Themes für smf und coppermine erstellen
Post by: Joachim Müller on May 25, 2009, 12:50:40 am
Theme habe ich momentan nur lokal am Laufen.
Dann lade es hoch und gib Link zum öffentlichen Theme oder zippe Dein benutzerdefiniertes Theme und hänge es an als Anlage Deines Postings. Alles andere ist nur Lesen im Kaffeesatz...
Title: Re: identische Themes für smf und coppermine erstellen
Post by: Αndré on May 26, 2009, 12:15:23 pm
Leider wird dann zweimal die Klasse "class="current" in einem Link gelistet.

Hiermit sollte es gehen:
Code: [Select]
// start mark active link
    global $PHP_SELF;
    $chosen = '" class="current';

    // meta albums
    switch($_GET['album'])
    {
      case 'favpics':
        if (!strstr($lang_main_menu['fav_title'], $chosen))
            $lang_main_menu['fav_title'] .= $chosen;
        break;

      default:
        if (!strstr($lang_main_menu[$_GET['album'].'_title'], $chosen))
            $lang_main_menu[$_GET['album'].'_title'] .= $chosen;
    }

    // other files
    switch($PHP_SELF)
    {
      case 'index.php':
        if (!strstr($lang_main_menu['alb_list_title'], $chosen))
            $lang_main_menu['alb_list_title'] .= $chosen;
        break;

      case 'upload.php':
        if (!strstr($lang_main_menu['upload_pic_title'], $chosen))
            $lang_main_menu['upload_pic_title'] .= $chosen;
        break;

      default:
        if (!strstr($lang_main_menu[basename($PHP_SELF, ".php").'_title'], $chosen))
            $lang_main_menu[basename($PHP_SELF, ".php").'_title'] .= $chosen;
    }
// end mark active link


(Ich habe meinen ursprünglichen Code auch entsprechend angepasst)