|
|
20.06.2012, 18:26
|
|
Kirs
ООО "КИРАНА"
Зарегистрирован: 2007-02-01
Сообщений: 96
|
День добрый.
Все настройки и занчения раздела доступны в шаблоне вывода навгиции через:
\".\$data[\$i][Название_поля].\"
но просто значение поля TemplateSettings, содержащего пользовательские настройки получить не удается, т.к. оно представляет собой строку вида:
$TemplateSettings = array( значения ), которая, видимо, тоже "ивалится",
что удивляет, ведь можно было сделать многомерный массив.
upd: обнаружено, что там ее просто нет в $data
Так как получить значение поля из пользовательской настройки макета дизайна в шаблоне вывода навигации чтобы сделать, например, ссылки в меню разного цвета?
Мануал (и, кажется, урок на этом сайте) предлагает создавать в системной таблице "Разделы" поля и использовать их в виде %Имя_поля, что не очень удобно, т.к. нельзя использовать условия.
|
|
|
21.06.2012, 11:56
|
|
DiGGy
DiGGy

Зарегистрирован: 2005-04-04
Сообщений: 1546
|
Если опишите поставленную перед вами задачу (а не то как вы ее решаете), то будет понятнее, что именно надо сделать, почему вы делаете именно так, а не иначе, и как, вообще, лучше это сделать.
По какому принципу должны подсвечиваться ссылки в меню?
Temet nosce...
|
|
|
21.06.2012, 17:53
|
|
Kirs
ООО "КИРАНА"
Зарегистрирован: 2007-02-01
Сообщений: 96
|
Собственно задача обозначена, но повторю подробнее, если желаете. Допустим мне захотелось все пункты меню сделать разных цветов, прим.:
Главная
Об мне
Контакты
и, конечно же, я хочу сделать возможность быстро менять их без особых знаний хтмл, цсс и иже с ними.
Мануал, как я уже говорил, предлагает создать в системной таблице "Разделы" поле и использовать его в виде %Название_поля, по аналогии с уже имеющимися макропеременными %URL, %NAME и т.д.
Во-первых, это не есть удобно, поскольку секретарше-блондинке необходимо тогда разбираться в шестнадцатеричном представлении цвета
Во-вторых, искать подобные штуки логичнее в настройках дизайна, (для чего они, собственно, и сделаны), а не в дополнительных полях.
Что хотелось бы:
использовать настройки дизайна по назначению, т.е. создать селект "Цвет пункта меню", в котором были бы варианты "красный", "синий", "черный" со значениями "red", "blue", "black" или "f00", "00f", "000" и использовать его. В хидере и футере макета дизайна это делать можно. Можно заивалить $current_sub[TemplateSettings], a можно сразу пользоваться готовой $template_settings. Но как сделать это в шаблоне вывода навигации.
Единственное, что приходит в голову - это разрывать переменную резалт'ом:
$menu[0][unactive] = "<li style='color:\"; \$result.=\"'>%NAME</li>
чтобы использовать \$data[\$i], в которой по идее должны хранится настройки, но, как оказалось, элемента TemplateSettings в этом массиве нет.
|
|
|
22.06.2012, 09:59
|
|
llkp
Ruslan Kimov
Зарегистрирован: 2010-08-23
Сообщений: 81
|
1. В системных настройках - разделы создаём переменную типа список, заполняем список возможными цветами и в настройках раздела выбираем.
2. В макете дизайна создаём столько же переменных, сколько пунктов меню, опять делаем список и заполняем.
3. Можно с помощью :nth-child. Создаём компонент и стили меню оставляем в макете.
Так же можно использовать, например, colorpicker для выбора цвета.
|
|
|
22.06.2012, 18:58
|
|
DiGGy
DiGGy

Зарегистрирован: 2005-04-04
Сообщений: 1546
|
Уточню ответ llkp. Перечисленные им варианты надо рассматривать по логике ИЛИ, т.е. один из пунктов, а не все разом.
Более разумными являются п1 и п3.
Если выбирать из них, то п.1 требует давать доступ секретарше в админку /netcat/admin/ с соотв-ими правами, что, на мой взгляд, крайне небезопасно.
Я бы выбрал п.3 с совмещением там colorpicker, т.е. делаем компонент, в нем делаем выозможность каждому разделу задать свой цвет. Управление этим всем выносим в админку контент-менеджера /netcat/ и всё.
зы. Я бы недоверил секретарше менять цветовую палитру на сайте. имхо, это составляющая дизайна, а у секретарши назначение другое...
Temet nosce...
|