Регистрация
Вход через соцсети
Восстановление пароля

Альтернативное название раздела

Новый топик
28.01.2010, 11:20
Ответить | Цитировать
Гость
Гость

Есть задача что бы пункты в меню могли иметь альтернативные название.
Не понимаю как надо написать что бы работало.
Есть доп. поле altname, и если оно заполнено, то в навигации название раздела должно браться из этого поля, если не заполнено, то название раздела берется из поля по умолчанию.

Пытался сделать так:

Код:
$browse_sub[0][prefix] = "";global $browse_sub;$result.="";
....
$browse_sub[0][unactive] = "<p><a href=%URL>".($data[$i][altname]!=0?"true":"false")."</a></p>";
....


В общем когда написано так, то всегда высвечивает false
$data[$i][altname] выдает altname[Array]
Если писать везде %altname и %NAME то вообще всё перестает работать.
Подскажите плз как правильно надо написать такое условие в навигации?
28.01.2010, 12:10
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

уберите !=0

Temet nosce...
28.01.2010, 12:24
Ответить | Цитировать
Гость
Гость

Спсб
Вот так получилось всё отлично
Код:
".($data[$i][altname]?"%altname":"%NAME")."
08.04.2010, 13:39
Ответить | Цитировать
Гость
Гость

Пытаюсь воспользоваться приведенным примером и ничего не выходит. Выводятся только системные названия разделов. Мало того, пытаюсь скопировать пример из руководства:
Цитата:
Например:
$browse_sub[0][unactive] = "<li>
<a href=".$data[$i][Hidden_URL].">".$data[$i][Subdivision_Name]."</a></li>";
равносильно записи
$browse_sub[0][unactive] = "<li><a href=%URL>%NAME</a></li>";

В шаблонах вывода навигации пишу так:
Код:
$browse_path[active_link] = "<a href=".$data[$i][Hidden_URL].">".$data[$i][Subdivision_Name]."</a>";
$browse_path[unactive] = "<a href=".$data[$i][Hidden_URL].">".$data[$i][Subdivision_Name]."</a>";
$browse_path[active] = "<a href=".$data[$i][Hidden_URL].">".$data[$i][Subdivision_Name]."</a>";
$browse_path[divider] = " / ";

В header встаиваю функцию ...".s_browse_path($browse_path)."... и на выходе получаю лишь:
Код:
<a href=></a> / <a href=></a> / <a href=></a>

При этом с макропеременными %URL и %NAME все работает. Что я не так делаю и как получить доступ к дополнительным полям?
08.04.2010, 14:23
Ответить | Цитировать
Гость
Гость

В дополнение к предыдущему. Делаю так:
Код:
$browse_path[suffix] = isset($data)?"TRUE":"FALSE";

Возвращает "FALSE". Это ограничение демо-версии?
08.04.2010, 14:26
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Для ф-ии s_browse_path указанное выше решение применить нельзя, потому что в ней доступны лишь два поля Subdivision_Name, Hidden_URL.

Тут можно использовать как минимум 2 варианта:
1. С помощью ф-ии s_browse_sub, указав шаблоны вывода типа:
Код:

$browse_map[prefix] = "/";
$browse_map[active] = "<a href=%URL>".$data[$i][Subdivision_Name]."</a>".s_browse_sub($data[$i][Subdivision_ID],$browse_template)."";
$browse_map[suffix] = "</ul>";


2. Либо ручками сформировать при помощи обработки массива $parent_sub_tree

Temet nosce...
08.04.2010, 14:32
Ответить | Цитировать
malich
Андрей Малков

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

да действительно в s_browse_path массива $data нет.

чтобы получить доступ к
Код:
".$data[$i][...]."


воспользуйтесь другой функцией вывода навигации где есть $data
s_browse_level
s_browse_sub
и т.д.
198 196 2010-04-08 14:32:35 9846
Описание проекта