Опять сохраняем все шаблоны, которые редактируем.
Модификация: Дополнительное поле профиля, с выбором цвета, после чего каждое сообщение пользователя будет выделено именно этим цветом, кроме текста в цветовых тегах, цитат, кодов и т.п.
1. Создаем доп. поле. АЦ -> Пользователи и Группы -> Доп-ные поля профиля (Создать новое поле)
1.2. Я его назвал "Цвет сообщений", описание и т.п....
1.3. Тип поля: "Текстовое поле".
1.7. Сохраняем и Записываем его номер TopicView "field_x".
2. АЦ -> Скины и шаблоны -> "Используемый шаблон" (Настройка HTML) -> Topic View Section -> Post Entry (Редактировать)
2.1. Находим строку
{$post['post']}
2.2. Заменяем, подставляя номер доп. поля в X на:
<!-- Пользовательский цвет поста -->
<script type="text/javascript">
var userColor= ("{$author["field_x"]}");
if (userColor != "") { document.write('<span style="color:',userColor,'">'); }
</script>{$post['post']}
<script>
var userColorField = ("{$author["field_x"]}");
if (userColorField != "") { document.write('</span>') }
</script><!-- Конец пользовательского цвета -->
2.3. Сохраняем.
Теперь можно проверить, введя код цвета в дополнительное поле, профиля.
Дополнение: Я не хочу давать пользователю вводить тот цвет, который он хочет, а только тот, который не резал бы глаза остальным, соответственно лучше всего заранее определить все цвета, которые может вводить пользователь. Продолжаем модификацию:
3. Скрываем стандартное поле "Цвет сообещий" в профиле и добавляем выпадающий список стандартных цветов.
3.1. Заходим в АЦ -> Скины и шаблоны -> "Используемый шаблон" (Настройка HTML) -> User Control Panel Section -> Profile Form: Custom Profile Text Input (Редактировать)
3.2. После содержимого шаблона вставляем, заменяя на нужный x это:
<script>
if ("$name" == "field_X") {
document.theForm.field_x.style.visibility="hidden";
}
</script>
3.3. Перед содержимым шаблона, заменяя нужный X вставляем это:
<script>
if ("$name" == "field_x") {
document.write('<select name="PostColorField" class="codebuttons" onchange="ChoosedPostColor(this.options[this.selectedIndex].value)">');
[span style='color:purple']document.write('<option value="#000" style="color:#000" >Выбирите цвет</option>');
document.write('<option value="#000" style="color:#000" >Обычный цвет сообщений</option>');
document.write('<option value="#352E2C" style="color:#352E2C" >Темно-серый</option>');
document.write('<option value="#31004A" style="color:#31004A" >Темно-фиолетовый</option>');
document.write('<option value="#2E3092" style="color:#2E3092" >Темно-синий</option>');
document.write('<option value="#004A80" style="color:#004A80" >Темно-голубой</option>');
document.write('<option value="#005825" style="color:#005825" >Темно-зеленый</option>');
document.write('<option value="#623901" style="color:#623901" >Темно-оранжевый</option>');
document.write('<option value="#66013A" style="color:#66013A" >Темно-розовый</option>');
document.write('<option value="#5C001C" style="color:#5C001C" >Бордовый</option>');[/span]
document.write('</select>');
var NowValue = "$value";
document.write('</br>Текущий цвет: <span style="color:',NowValue,'">',NowValue,'</span>');
}
</script>
3.4. Сохраняем.
3.5. Заходим в АЦ -> Скины и шаблоны -> "Используемый шаблон" (Настройка HTML) -> User Control Panel Section -> Profile Form: Main (Редактировать)
3.6. Находим это:
//-->
</script>
3.7. Перед 3.6. вставляем, подставляя нужный х это:
function ChoosedPostColor(Color) {
document.theForm.field_x.value = Color;
}
3.7. Сохраняем.
Комментарии: То, что выделено синим в п 3.3. определяе содержимое выпадаемого списка, вставить новый цвет можно добавить туда строчку вида:
document.write('<option value="Код цвета" style="color:Код цвета" >Название цвета</option>');
То, что выделено оранжевым в п. 3.3. добавляет под поле выбора цвета строчку "Текущий цвет", показывая код цвета, раскрашенным в тот же цвет.
Код цвета обязательно должен быть с # перед цифрами.
Рекоммендуемые цвета (для черного фона):
#6DCFF6 - светло - голубой
#9EBFE6 - морской волны светлый
---
Отредактировано ExperT (2006-01-15 12:06:06)