ARTICLE_MENU_ARCHIVE - class_active_link rendert nicht

Hier bekommst Du deutschsprachigen Support. Keine Fehlermeldungen oder Erweiterungswünsche bitte!
Post Reply
hal
Posts: 66
Joined: Mon 9. Feb 2004, 22:07

ARTICLE_MENU_ARCHIVE - class_active_link rendert nicht

Post by hal »

Hallo zusammen,

ich habe ein Problem mit oben genannter Erweiterung von FlipFlop.

Habe alles eingebaut, verwende es als Artikelmenü, siehe http://schattengewaechs.binexe.de/index ... vater-land.
Es handelt ich um das Untermenü mit den Einträgen Inhalt, Trailer, Fotos, Credits und Pressebereich.

Das sieht auch alles so aus, wie es soll. Allerdings hätte ich gerne, dass der jeweils aktive Menüpunkt den farblichen Effekt beim Mouse-Over übernimmt und stehen lässt. Dazu würde sich eigentlich die CSS-Klasse, die man in der article_menu_archive.php bei $alinkmenu['class_active_link'] eintragen kann, bestens eignen.

Sie erscheint auch im Seitenquelltext, rendert aber nicht - d.h. egal was ich im CSS bei dieser Klasse reinschreibe, es passiert nix.

Hier zur Info die relevanten Code Teile:

1. Mein Template in der article_menu_archive.php

Code: Select all

// Template No: 3  --------------------------
$alinkmenu['template'][3] = '
<div class="film_menu">
[LINK]{TITLE}[/LINK]
</div>
';
2. Die Einträge bei den CSS Klassen in der article_menu_archive.php

Code: Select all

$alinkmenu['wrap_all']        = array('','');  // Wrap around all
$alinkmenu['wrap_data']       = array('{IMAGE}','');  // Data wrap begin, end
$alinkmenu['wrap_title']      = array('','');        // Title wrap around all  begin, end
$alinkmenu['wrap_subtitle']   = array('','');       // SubTitle wrap begin, end
$alinkmenu['wrap_summary']    = array('','');      // Wrap around summary  begin, end
$alinkmenu['class_active_link'] = 'film_menu_active';                              // Active link class

$alinkmenu["style_before"]    = '';  // Format before every data set.
$alinkmenu["style_behind"]    = '';  // Format behind every data set.

// + KH 11.06.2010 V1.5 Output cp
$alinkmenu["cp_wrap"]    = array('','');  // Format before/behind every cp data set.
3. Die definierten CSS Klassen in der frontend.css (heisst bei mir sg_standard.css)

Code: Select all

/* CSS articlemenu filme  */

.film_menu_wrap  {
}

.film_menu .film_menu a, .film_menu a:link, .film_menu a:visited  {
         background-color: #bfbfbf;
         padding: 10px 0px 10px 0px;
         width: 20%;
         float: left;
         font-family: Arial, Verdana, Helvetica, sans-serif;
         font-size: 14px;
         color: #f5f5f5;
         font-weight: bold;
         text-decoration: none;
         text-align: center;
}

.film_menu a:hover, .film_menu a:active {
        color: #000000;
        text-decoration: none;
        background-color: #f5f5f5;
}


.film_menu_active .film_menu_active a, .film_menu_active a:link, .film_menu_active a:visited .film_menu_active a:hover, .film_menu_active a:active{
        color: #000000;
        text-decoration: none;
        background-color: #f5f5f5;
}
4. Mein Replacement Tag

Code: Select all

{ARTICLE_MENU_ARCHIVE:-1,5,s0,50x50x1,t3,r0,w0,,c0}
Ich hab jetzt einen Tag lang rumprobiert und die Fehlerquelle gesucht - ohne Erfolg.

Was ich gemacht habe:
Alle relevanten Klassen rausgenommen - aus dem Template (war nur noch [LINK]{TITLE}[/LINK] übrig, also eine blanke Reihe Links/Verlinkungen) und dem CSS (also alle Pseudoklassen mit a:link ff), so dass nur noch die eine Klasse aus class_active_link übrig war (bei mir heisst sie film_menu_active), um alle mögliche Überlagerungen auszuschliessen. Kein Ergebnis. Das ganze Menü rendert dann halt im phpwcms default Stil und die "active" Klasse wird weiterhin ignoriert.

Habe ausserdem das Forum ausgiebig durchsucht - nichts gefunden.

jetzt weiss ich mir keinen anderen Rat mehr als zu fragen. Hat jemand von Euch diese Klasse erfolgreich eingesetzt? Wenn ja - wie?
Wäre für jede Hilfe äusserst dankbar.

EDIT: Hab dann ne Lösung gefunden (böser Hack):

Hab einfach in die article_menu_archive.php im Code Bereich zwei DIVs für active und non-active geöffnet (und weiter unten den </div> tag):

Code: Select all

555      // set link or link with active link class --------------------
556
557      $alinkmenu['link_wrap'] = '<div class="f_menu"><a href="index.php?aid='.$value['article_id'].'">';
558
.
560          $alinkmenu['link_wrap'] = '<div class="f_menu_active"><a href="index.php?aid='.$value['article_id'].'" '.get_class_attrib($alinkmenu['class_active_link']).'>';
561     }
.
.
617        case 3:   // render with template
.
621            $alinkmenu['temp'] = str_replace('[/LINK]'    , '</a></div>'    , $alinkmenu['temp']);


Das hat zwar mein Problem im Moment gelöst - aber sauber ist anders.
Leider hab ich von php keine! Ahnung - daher diese - sicher dilettantische - Lösung.

Darum habe ich den Post trotzdem gemacht - vielleicht weiss ja jemand, wie es richtig geht.



.
Post Reply