Как тут создано меню ?

Главные вкладки

Аватар пользователя Dope Skeeza Dope Skeeza 16 августа 2008 в 13:55

И опять же я не пойму, каким образом тут назначены свои класы на меню "НОВОЕ НА САЙТЕ API ФОРУМ ДНЕВНИКИ"
Как это сделано?!
Вот мое меню (ГЛАВНАЯ О КОМПАНИИ ТОВАРЫ ДОКУМЕНТЫ КОНТАКТЫ)
Мне нужно мое Primary Menu стилизовать также как тут на drupal.ru

Комментарии

Аватар пользователя penexe penexe 17 августа 2008 в 0:58

"Ромка" wrote:
Это не хтмл, это темизированные примари линкс.

факмоймоск ромка ты гений =), просто когда я смотрел мне показалось что при активном пункте оно не подсвечивается (, вот и решил что хтмл

Аватар пользователя penexe penexe 17 августа 2008 в 1:08

<?php
function phptemplate_menu_links($links) {
if (!count($links)) {
return '';
}
$level_tmp = explode('-', key($links));
$level = $level_tmp[0];
$output .= "

    \n";
    $i=0;
    foreach ($links as $index => $link) {
    if (stristr($index, 'active')) {
    $class = ' class="active"';
    }
    $output .= "
  • ". l($link['title'], $link['href'], array('class'=>"item_".$i), $link['query'], $link['fragment']) ."
  • \n";
    $i++;
    }
    $output .= "

\n";

return $output;
}
?>

Аватар пользователя Dope Skeeza Dope Skeeza 17 августа 2008 в 1:29

че то не пашет.. переделал немного код:

function galaxy_menu_links($links) {
  if (!count($links)) {
    return '';
  }
  $level_tmp = explode('-', key($links));
  $level = $level_tmp[0];
  $output .= "<ul id=\"primary\">\n";
  $i=0;
  foreach ($links as $index => $link) {
      if (stristr($index, 'active')) {
      $class = ' class="activebutton"';
    }
        $output .= "<li".$class.">". l($link['title'], $link['href'], array('class'=>"button_".$i), $link['query'], $link['fragment']) ."</li>\n";
        $i++;
  }
  $output .= "</ul>\n";
 
  return $output;
}

а на сайте классы все равно: links primary-links и first menu-... хм
Смотрел page.tpl.php , там просто print $menu

Аватар пользователя penexe penexe 17 августа 2008 в 1:33

galaxy_menu_links - это не правильно, так ты переопределяешь только те функции которые уже переопределены в phptemplate.engine другие phptemplate_menu_links

если не прокатит то скинь сюда весь template.php

Аватар пользователя Dope Skeeza Dope Skeeza 17 августа 2008 в 14:06

На самом деле я решил проблему по другому...
В page.tpl.php

<?php if (isset($primary_links)) : ?>
<?php print theme('links', $primary_links, array('class' => 'links primary-links')) ?>
<?php endif; ?>

и в style.css

ul.primary-links {
  margin: 0;
  padding: 0;
  float: left;
  display: block;
  position: relative;
  height: 24px;
}

ul.primary-links li {
  margin: 0;
  padding: 0;
  float: left;
  background-image: none;
}

ul.primary-links li a, ul.primary-links li a:link, ul.primary-links li a:visited {

color: #FFB31C;
display: block;
float: left;
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
font-size: 12px;
font-size-adjust: none;
font-stretch: normal;
font-style: normal;
font-variant: normal;
line-height: normal;
padding: 4px 18px 0;
text-decoration: none;
height: 24px;
}

ul.primary-links li a:hover {
color: #FFF;
height: 24px;
}

ul.primary-links li a.active {
background: #fff url(/images/menu_hover.jpg) repeat-x scroll 0 0;
color: #000000;
height: 24px;
}

Только вот теперь проблемка есть. Если смотреть лисой, то все в полном порядке, но если глянуть exploreroм, то не назначается a.active
Вот для наглядности:

Аватар пользователя Dope Skeeza Dope Skeeza 18 августа 2008 в 0:57

з.ы. ul.primary-links li a, ul.primary-links li a:link, ul.primary-links li a:visited {
поменял на
ul.primary-links li a:link, ul.primary-links li a:visited {

Все равно не пашет
попробовал менять:
a.active на a.active:visited, a.active:link
но друпал это вообще не воспринимает и у меня все одного цвета становится