помогите с кодом. за пиво.

Тема в разделе "Мегафлуд", создана пользователем stogov, 15 июл 2011.

  1. stogov

    stogov

    Регистр.:
    21 авг 2007
    Сообщения:
    254
    Симпатии:
    91
    Здравствуйте, Друзья.
    Весь свой мозг уже изнасиловал. Не могу сделать активное меню, что-бы оно приняло именно тот вид, который так хочется.

    Первому кто поможет решить проблему, проставляю литр пива, в эквиваленте 100WMR на кошелёк или на мобильный.

    Итак. Перехожу в Хайд.


    Есть файл menu.php, который конструирует меню.
    PHP:
                    <? 
                     $r = sql_query("SELECT * FROM ".PREF."_pages WHERE mainmenu='1' AND parent='0' ORDER BY ord ASC");
                     if (sql_numrows($r)) {
                    ?>
                        <?
                            while ($d = sql_row($r) ) {
                                if ($page != $d['id']) {
                                    $a1 = "<a href='".SITE_XURL.$d['path']."/' ";
                                    $a2 = "</a>";
                                } else {
                                    $a1 = $a2 = '';                                
                                }
                              print("<li>".$a1.$d['name'].$a2."</li>");
                            }
                        ?>
                   <? } ?>
    И есть файл superfish-menu.css
    PHP:
    nav {padding:34px 10px 0px 0px;  float:rightz-index:20position:relativeheight:73px;}
    .
    sf-menu li {float:left;
        
    position:    relative;
        
    font-size:24px;
        
    line-height:24px;
        
    text-transform:uppercase;
        
    background:#fff;
        
    width:174px;
        
    margin-right:1px;
        
    text-align:center;
        }
    .
    sf-menu a {display:block;
        
    position:        relative;    
        
    color:#000;
        
    text-decoration:none
        
    padding:25px 0px 23px 0px;
        }
        .
    sf-menu li li {
        
    padding:0;
        
    font-size:18px;
        
    text-align:left;
        
    line-height:30px;
        
    padding:0 0 0 0px;
        
    text-transform:none;
        
    background:#1e1e1e;
        
    margin-bottom:1px;
        
    text-transform:uppercase;
    }
        .
    sf-menu li li a {
            
    padding:7px 0 8px 20px;
            
    display:inline-block;
            
    text-decoration:none;
            
    width:155px;
            
    color:#f1f1f1;
        
    }
        .
    sf-menu li li li {
            
    line-height:30px;
            
    background:none;
            
    padding:0 0 0 0;
            
    font-size:18px;        
            
    margin-left:0px;
            
    width:170px;
            
    margin-bottom:1px;
        }
            .
    sf-menu li li li a {
                
    color:#fff;
                
    padding:7px 0 7px 20px;
                
    display:block;
                
    width:154px;
                
    background:#555555;
            
    }
    .
    sf-menu ul {
        
    position:        absolute;
        
    top:            -999em;
        
    width:            175px
        
    display:none;
        
    padding:11px 0px 13px 0px;
        
    height:75px;
    }
    .
    sf-menu ul ul {
        
    position:        absolute;
        
    top:            -999em;
        
    display:none;
        
    width:174px;
        
    background:none;
    }
    .
    sf-menu ul li {
        
    width:            100%;
    }
    .
    sf-menu li:hover ul,
    .
    sf-menu li.sfHover ul {
        
    left:            0;
        
    top:            63px
        
    z-index:        99;
    }
    ul.sf-menu li:hover li ul,
    ul.sf-menu li.sfHover li ul {
        
    top:            -999em;
    }
    ul.sf-menu li li:hover ul,
    ul.sf-menu li li.sfHover ul {
        
    left:            176px
        
    top:            -10px;
    }
    ul.sf-menu li li:hover li ul,
    ul.sf-menu li li.sfHover li ul {
        
    top:            -999em;
    }
    .
    sf-menu li.sfHover a,
    .
    sf-menu a:focus, .sf-menu a:hover, .sf-menu a.active {
        
    background:#313131;
        
    outline:        0;
        
    color:#fff;
    }
        .
    sf-menu li li.sfHover a,
        .
    sf-menu li li a:focus, .sf-menu li li a:hover, .sf-menu li li a.active {
            
    background:#888888;
        
    }
            .
    sf-menu li li li.sfHover a,
            .
    sf-menu li li li a:focus, .sf-menu li li li a:hover, .sf-menu li li li a.active {
                
    color:#fff;
            
    }
    .
    sf-menu a.sf-with-ul {
        
    padding-right:     2.25em;
        
    min-width:        1px
    }
    .
    sf-sub-indicator {
        
    position:        absolute;
        
    display:        block;
        
    right:            .75em;
        
    top:            1.05em
        
    width:            10px;
        
    height:            10px;
        
    text-indent:     -999em;
        
    overflow:        hidden;
        
    background:        url('../images/arrows-ffffff.png'no-repeat -10px -100px
    }
    > .sf-sub-indicator {  
        
    top:            .8em;
        
    background-position-100px
    }
    .
    sf-menu li.menu-activ a:hover   {background:#313131; color:#fff;}
    .sf-menu li.menu-activ.sfHover {background:#313131; color:#fff;}
    в мой исполняемый файл, вставляю меню html кодом:
    PHP:
                   <nav>
                        <
    ul class="sf-menu">
        <
    li class="menu-activ"><a href="#" class="active"О компании</a>
        </
    li>
                           <
    li><a href="/vacancy">Вакансии</a></li>                               
                           <
    li><a href="/tarifs">Тарифы</a></li>                        
                           <
    li><a href="/contacts">Контакты</a></li>
                        </
    ul>
                     </
    nav>
    В том HTML коде, если его вставлять как есть, всё окей. Именно такое меню мне нужно:
    [​IMG]
    Но как только я начинаю инклудить меню из своего меню файла, то начинаются трайблы
    PHP:
    <nav>
                        <ul class="sf-menu">
                             <? @include('menu.php'); ?>
                        </ul>
                     </nav>
    Эти трайблы, можно лицезреть на рисунке. Тут вместе активного чёрного, просто текст.
    [​IMG]
    В общем я хочу добиться результата, что бы моё второе меню в коде, выглядело как первое на рисунке.
    PS:
    Может это послужит Вам помощью, если убрать из файла где должно быть меню строку.
    <ul class="sf-menu"> </ul>
    , то меню первого варианта (который хороший), выглядит так:
    [​IMG]
    а меню второго варианта (плохого) выглядить, вот так:
    [​IMG]
    Видите, на втором снимке, "О компании" написано другим цветом #8e8e8e. Я начал копать и единственное, где нашёл этот цвет был файл .Css
    body {
    background:#fff;
    font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
    font-size:0.8125em;
    line-height:1.5384em;
    color:#8e8e8e;
    min-width:1000px;
    }
    Следовательно вывод напрашивается сам. Если и есть трайбл, то он в файле: menu.php помогите пожалуйста решить данную проблему.
     
  2. o_nix

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.037
    не уверен что в этом проблема но всёже спрошу
    зачем menu.php - сделан как несколько кусков php кода ??
    с какой целью ??

    попробуй оставить только одно открытие и закрытие <??>

    и лучше не скрины выложи а html код
    какой выдаётся сейчас
    и какой хочешь чтоб получался
     
  3. ndvkerch

    ndvkerch

    Регистр.:
    26 июн 2008
    Сообщения:
    277
    Симпатии:
    74
    А покажи html код второго плохого меню которое генерится скриптом. Походу для активной ссылке не тот класс подставляется. Вероятнее всего для активной ссылке к тегу li не добавляется класс class="menu-activ"
     
  4. stogov

    stogov

    Регистр.:
    21 авг 2007
    Сообщения:
    254
    Симпатии:
    91
    Там цель такова, в одном куске поступает запрос в БД, в другом идёт создание меню. И вот на мой взгляд проблема во втором куске.
    PS: Попробовал сейчас объединить куски, как Вы рекомендовали. Вообще белая страница. только логотип.
     
  5. o_nix

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.037
    php - однопоточен по своей сути
    какбы вы его на куски не делили а весь код будет исполнятся последовательно в один поток и результат будет выведен весь сразу а не по кускам

    тоесть если в cgi режиме то идёт вывод постепенно
    а через веб сервер - отдаётся весь результат сразу
     
  6. stogov

    stogov

    Регистр.:
    21 авг 2007
    Сообщения:
    254
    Симпатии:
    91
    Вот и у меня кстати, такие же мысли. Второе плохое меню из файла menu.php генерируется.

    PHP:
                            <? 
                     $r = sql_query("SELECT * FROM ".PREF."_pages WHERE mainmenu='1' AND parent='0' ORDER BY ord ASC");
                     if (sql_numrows($r)) {
                    ?>
                        
                        <?
                            while ($d = sql_row($r) ) {
                                if ($page != $d['id']) {
                                    $a1 = "<a href='".SITE_XURL.$d['path']."/' >";
                                    $a2 = "</a>";
                                } else {
                                    $a1 = $a2 = '';                                
                                }
                              print("<li>".$a1.$d['name'].$a2."</li>");
                            }
                        ?>
                            
                   <? } ?>


    ---------- Post added at 14:13 ---------- Previous post was at 13:11 ----------

    2 o_nix



    Дело в том, что это не я писал сам код, в этом вся проблема.

     
  7. bork75

    bork75 The Team

    Регистр.:
    21 июн 2008
    Сообщения:
    1.450
    Симпатии:
    717
    А ты сравнивал тот код, что ты пишешь сам и то, что генерируется в коде?
    Результат одинаковый?
    Судя по php коду, будет разный.
     
  8. stogov

    stogov

    Регистр.:
    21 авг 2007
    Сообщения:
    254
    Симпатии:
    91
    Если бы я смог сделать сам! Я бы сюда не обратился!
    Вопрос до сих пор актуален.