Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Подскажите, Возможно ли изменять prefix генерируемых меню?

22.01.2008, 19:41
Гость
Гость

Здравствуйте,

В макете дизайна Внутренней страницы, код считает и выводит в моем случае 4 меню.
Код:
$menu_count = listQuery("SELECT COUNT(*) AS count 
FROM Subdivision
WHERE Parent_Sub_ID='0'
AND Catalogue_ID='$catalogue'
AND Checked=1",
"$data[count]");

$menu_width = "width=".((int)(100/$menu_count))."%";


Мне нужно чтобы каждый генерируемый список меню имел свой уникальный Prefix...
Чтобы сделать скажем фон 2-го меню Красным цветом, оставив остальные серым.

Можно ли этого добиться?

Код:

$browse_sub[1][prefix] = "<TR><TD style='background-color: red;'><TABLE cellpadding=0 cellspacing=0 border=0 width=100%>";
$browse_sub[1][active] = "<TR><TD ".$isub2."><IMG src=/images/template1/arrow.gif width=4 height=5 border=0></TD><TD width=100% ".$isub3."><B>%NAME</B></TD></TR>";
$browse_sub[1][active_link] = "<TR><TD ".$isub2."><IMG src=/images/menu_dotb.gif width=4 height=4 border=0></TD><TD width=100% ".$isub3."><B>%NAME</B></TD></TR>";
$browse_sub[1][unactive] = "<TR><TD ".$isub2."><IMG src=/images/template1/arrow.gif width=4 height=5 border=0></TD><TD width=100% ".$isub3."><A href=%URL class=topmenu>%NAME</A></TD></TR>";
$browse_sub[1][divider] = "";
$browse_sub[1][suffix] = "</TABLE></TD></TR>";



Спасибо!
23.01.2008, 02:30
d

Зарегистрирован:
2007-02-09
Сообщений: 93

не вижу связи между первым и вторым блоком кода. Где функция вывода меню? Сколько их всего и каким образом они получаются разные?
23.01.2008, 14:42
Гость
Гость

Так выглядит шаблон вывода навигации внутренней страницы, полностью:

Код:
$menu_count = listQuery("SELECT COUNT(*) AS count 
FROM Subdivision
WHERE Parent_Sub_ID='0'
AND Catalogue_ID='$catalogue'
AND Checked=1",
"$data[count]");

$menu_width = "width=".((int)(100/$menu_count))."%";


$browse_sub[0][prefix] = "";global $browse_sub;$result.="<TABLE cellpadding=0 cellspacing=0 border=0 width=100%><TR>";
$browse_sub[0][active] = "<TD valign=top $menu_width><TABLE cellpadding=0 cellspacing=0 border=0 width=100%><TR><TD height=34 class='font2 back4' style='padding: 0 0 0 17;; text-transform: uppercase;'>%NAME</TD></TR>".s_browse_sub($data[$i][Subdivision_ID],$browse_sub[1])."</TABLE></TD>";
$browse_sub[0][active_link] = "<TD valign=top $menu_width><TABLE cellpadding=0 cellspacing=0 border=0 width=100%><TR><TD height=34 class='font2 back4' style='padding: 0 0 0 17;; text-transform: uppercase;'>%NAME</TD></TR>".s_browse_sub($data[$i][Subdivision_ID],$browse_sub[1])."</TABLE></TD>";
$browse_sub[0][unactive] = "<TD valign=top $menu_width><TABLE cellpadding=0 cellspacing=0 border=0 width=100%><TR><TD height=34 class='font2 back3' style='padding: 0 0 0 17;; text-transform: uppercase;'>%NAME</TD></TR>".s_browse_sub($data[$i][Subdivision_ID],$browse_sub[1])."</TABLE></TD>";
$browse_sub[0][divider] = "<TD width=3 valign=top style='height:100%;'><TABLE cellpadding=0 cellspacing=0 border=0 width=3 style='height:100%;'><TR><TD height=40></TD></TR><TR><TD align=center></TD></TR></TABLE></TD>";
$browse_sub[0][suffix] = "</TR></TABLE><TABLE cellpadding=0 cellspacing=0 border=0 width=100%><TR><TD height=1></TD></TR><TR><TD height=1 class=back6></TD></TR></TABLE>";



$isub2 = "".opt_case($i, "style='padding: 3 0 0 17;'", "style='padding: 20 0 0 17;'")."";
$isub3 = "".opt_case($i, "style='padding: 3 0 0 10;'", "style='padding: 20 0 0 10;'")."";

$browse_sub[1][prefix] = "<TR><TD style='background-color: #cccccc;'><TABLE cellpadding=0 cellspacing=0 border=0 width=100%>";
$browse_sub[1][active] = "<TR><TD ".$isub2."><IMG src=/images/template1/arrow.gif width=4 height=5 border=0></TD><TD width=100% ".$isub3."><B>%NAME</B></TD></TR>";
$browse_sub[1][active_link] = "<TR><TD ".$isub2."><IMG src=/images/menu_dotb.gif width=4 height=4 border=0></TD><TD width=100% ".$isub3."><B>%NAME</B></TD></TR>";
$browse_sub[1][unactive] = "<TR><TD ".$isub2."><IMG src=/images/template1/arrow.gif width=4 height=5 border=0></TD><TD width=100% ".$isub3."><A href=%URL class=topmenu>%NAME</A></TD></TR>";
$browse_sub[1][divider] = "";
$browse_sub[1][suffix] = "</TABLE></TD></TR>";

$browse_path[prefix] = "";
$browse_path[active] = "%NAME";
$browse_path[active_link] = "%NAME";
$browse_path[unactive] = "%NAME";
$browse_path[divider] = " / ";
$browse_path[suffix] = "";

$browse_cc[prefix] = "<ul>";
$browse_cc[suffix] = "</ul><hr size=1 noshade>";
$browse_cc[active] = "<li>%NAME";
$browse_cc[unactive] = "<li><a href=%URL>%NAME</a>";
$browse_cc[divider] = "";


Выводит четыре блока меню.
Мне нужна возможность изменять Prefix для каждого выводимого блока отдельно.

Например один блок чтобы был:
Код:
$browse_sub[1][prefix] = "<TR><TD style='background-color: RED;'><TABLE cellpadding=0 cellspacing=0 border=0 width=100%>";


другой:
Код:
$browse_sub[1][prefix] = "<TR><TD style='background-color: BLUE;'><TABLE cellpadding=0 cellspacing=0 border=0 width=100%>";


и т.д..

23.01.2008, 17:13
d

Зарегистрирован:
2007-02-09
Сообщений: 93

Цитата:
Выводит четыре блока меню.


Указанный код НЕ ВЫВОДИТ никакого меню. Меню выводится с помощью функций s_browse_sub и s_browse_level.
23.01.2008, 19:50
Гость
Гость

Да, я не так выразился, меню выводится функцией:
".s_browse_sub(0, $browse_sub[0])."

Но, указанный выше шаблон делит список на 4 части и всем частям присваивается одинаковый prefix.
Я не совсем понимаю как он его делит, но вообщем мне надо изменить префикс для одной из частей меню первого уровня.

Простите, если я не совсем корректно изъясняюсь. Просто только начал знакомство с системой...

спасибо за помощь.

24.01.2008, 18:32
Гость
Гость

Кое-что начало получаться:
Код:
$isub4 = "".opt_case($i==6, "style='background-image:url(/images/fon_blue.gif);'", "style='background-image:url(/images/fon_gray.gif);'")."";

$browse_sub[1][prefix] = "<TR><TD height=120 valign='top' ".$isub4." ><TABLE cellpadding=0 cellspacing=0 border=0 width=100%>";


Теперь фоны меню второго уровня выглядят так:
|blue||blue||gray||gray|

А мне нужно получить такую картину:
|gray||blue||gray||gray|


Please, help me! улыбка
24.01.2008, 19:53
d

Зарегистрирован:
2007-02-09
Сообщений: 93

Код:
"<TR><TD height=120 valign='top' style='background-image:url(/images/".opt_case($i==1,"fon_blue.gif","fon_gray.gif").");'><TABLE cellpadding=0 cellspacing=0 border=0 width=100%>";


Не совсем понятно, почему у вас на шестерке срабатывало условие. В любом случае, если не получается - то просто выведите переменную $i и посмотрите, для какого значения нужно условие.
26.01.2008, 12:10
Гость
Гость

вывел $i.. получилось 6 6 4 4...
$i - количество разделов меню второго уровня.
Но зависеть от количества подразделов неудобно... :-/


28.01.2008, 10:38
malich
Андрей Малков

Зарегистрирован:
2005-08-09
Сообщений: 522

Скажите а почему не пойти путем по проще?

Добавьте в раздел дополнительное поле и пешите туда все что хотите, картинки, код оформления а потом в макете дизайна выводите:
по аналогии с названием раздела %NAME %POLE-в котором у вас будет прописано оформление для раздела

$browse_sub[1][prefix] = "<TR><TD style=%POLE>

а в самом разделе в поле POLE = background-color: RED;
28.01.2008, 12:16
Гость
Гость

malich писал(а):
Скажите а почему не пойти путем по проще?

Добавьте в раздел дополнительное поле и пешите туда все что хотите, картинки, код оформления а потом в макете дизайна выводите:
по аналогии с названием раздела %NAME %POLE-в котором у вас будет прописано оформление для раздела

$browse_sub[1][prefix] = "<TR><TD style=%POLE>

а в самом разделе в поле POLE = background-color: RED;


malich, спасибо большое ! Разобрался с полями...
198 196 2008-01-28 12:16:33 9201
Описание проекта