[РЕШЕНО] Primary links исчезли

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

Аватар пользователя Ateiri Ateiri 3 июля 2011 в 17:07

Ситуация такова. Сделал свою тему, за основу брал garland. Не было никаких ошибок и все работало прекрасно, но далее после подключения некоторых модулей и у меня пропали primary links. Все перерыл, модули отключал и включал, верстку проверял, даже css проверил полностью. Единственное меня файл template.php напрягал и то копался в нем, удалял содержимое - результат провал.

Вот частичный код:

page.tpl.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language ?>" lang="<?php print $language->language ?>" dir="<?php print $language->dir ?>">
  <head>
    <?php print $head ?>
    <title><?php print $head_title ?></title>
    <?php print $styles ?>
    <?php print $scripts ?>
        <script src="http://code.jquery.com/jquery-1.5.js" type="text/javascript"></script>
        <script type="text/javascript">$(document).ready(function(){ $("#cmenu ul li a").wrapInner("<span>" + "</span>"); });</script>
  </head>
  <body>
 <center>
<div id="header">
        <div id="menu">
                <div id="lmenu"></div>
                <div id="cmenu">
                        <?php if (isset($primary_links)) { ?><?php print theme('links', $primary_links) ?><?php } ?>
                </div>

template.php

function vipsvita_links($links, $attributes =  array('class' => 'links')) {
  $output = '';
  if (count($links) > 0) {
    $output = '<ul'. drupal_attributes($attributes) .'>';

    $num_links = count($links);
    $i = 1;

    foreach ($links as $key => $link) {
      $class = $key;

      // Add first, last and active classes to the list of links to help out themers.
      if ($i == 1) {
        $class .= ' first';
      }
      if ($i == $num_links) {
        $class .= ' last';
      }
      if (isset($link['href']) && ($link['href'] == $_GET['q'] || ($link['href'] == '<front>' && drupal_is_front_page()))) {
        $class .= ' active';
      }

      $output .= '<li'. drupal_attributes(array('class' => $class)) .'>';
     
      // wrap <span>'s around the anchor text
      if (isset($link['href'])) {
        $link['title'] = '<span>' . check_plain($link['title']) . '</span>';
        $link['html'] = TRUE;  }}}}

style.css

/* top menu links */
#cmenu ul, #cmenu ul li {
margin:0 5px 0 5px;
padding:0 3px 0 3px;
float:left;
list-style-type:none;
}
#cmenu ul li {
border-left:1px solid #333;
height:30px;
line-height:30px;
display:block;
margin-top:9px;
}
#cmenu ul li:first-child {
border:0;
}
#cmenu ul li a, #cmenu ul li a span {
color:#fff;
text-decoration:none;
display:block;
font-size:12px;
text-transform:capitalize;
height:29px;
padding-left:5px;
}
#cmenu ul li a span {
margin-right:-5px;
padding-right:9px;
}
#cmenu ul li a:hover, #cmenu ul li a:hover span {
color:#000;
}
#cmenu ul li a:hover {
background:url(images/menu-item.png) left 30px;
}
#cmenu ul li a:hover span {
background:url(images/menu-item.png) right 30px;
}
#cmenu ul li a.active, #menu ul li a.active span {
color:#ffffbb;
text-decoration:none;
display:block;
font-size:12px;
text-transform:capitalize;
height:29px;
padding-left:5px;
}
#cmenu ul li a.active {
background:url(images/menu-item.png) left 60px;
}
#cmenu ul li a.active span {
background:url(images/menu-item.png) right 60px;
}

Комментарии

Аватар пользователя Ateiri Ateiri 3 июля 2011 в 18:00

Primary Links работают на других темах, на том же Garland, но до сих пор не могу найти ошибку в коде.

в css ток исправил:

#cmenu ul li a.active, #menu ul li a.active span {
на
#cmenu ul li a.active, #cmenu ul li a.active span {

Аватар пользователя Ateiri Ateiri 3 июля 2011 в 18:09

Все, устранил. Ошибка в template.php функции.
Точно не понял в чем дело, но удалив её и сбросив кэш все стало на свои места