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: identische Themes für smf und coppermine erstellen  (Read 9085 times)

0 Members and 1 Guest are viewing this topic.

Gine

  • Coppermine newbie
  • Offline Offline
  • Posts: 6
identische Themes für smf und coppermine erstellen
« 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?






Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: identische Themes für smf und coppermine erstellen
« Reply #1 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.
Logged

Gine

  • Coppermine newbie
  • Offline Offline
  • Posts: 6
Re: identische Themes für smf und coppermine erstellen
« Reply #2 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.
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: identische Themes für smf und coppermine erstellen
« Reply #3 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.
« Last Edit: May 26, 2009, 12:17:28 pm by eenemeenemuu »
Logged

Martin84

  • Coppermine newbie
  • Offline Offline
  • Posts: 1
    • Krankenversicherung
Re: identische Themes für smf und coppermine erstellen
« Reply #4 on: March 09, 2009, 10:44:00 am »

Klasse, genau danach habe ich gesucht, danke :-)
Logged

T.Gauck

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 42
Re: identische Themes für smf und coppermine erstellen
« Reply #5 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"  ::) 





Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: identische Themes für smf und coppermine erstellen
« Reply #6 on: May 23, 2009, 08:06:59 pm »

Warnung: dropping value "current" for repeated attribute "class"  ::) 
Link?
Logged

T.Gauck

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 42
Re: identische Themes für smf und coppermine erstellen
« Reply #7 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.
Logged

Joachim Müller

  • Dev Team member
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 47843
  • aka "GauGau"
    • gaugau.de
Re: identische Themes für smf und coppermine erstellen
« Reply #8 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...
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: identische Themes für smf und coppermine erstellen
« Reply #9 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)
Logged
Pages: [1]   Go Up
 

Page created in 0.021 seconds with 20 queries.