КреатиВ.ТуТ

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » КреатиВ.ТуТ » IPB 1.3 » Сообщения пользователя одним шрифтом


Сообщения пользователя одним шрифтом

Сообщений 1 страница 14 из 14

1

получиться создать выбор постоянного шрифта для пользователей ?
по этмоу скрипту - сообщения пользователя одницм цветом - https://creos.1bb.ru/index.php?showtopic=66 если его переделать бы немного ?

https://creos.1bb.ru/index.php?showtopic=319

а вот список шрифтов ...

0

2

Сохраняем все шаблоны, которые редактируем.

Модификация: Дополнительное поле профиля, с выбором шрифта, после чего каждое сообщение пользователя будет выделено именно этим шрифтом.

1. Создаем доп. поле. АЦ -> Пользователи и Группы -> Доп-ные поля профиля (Создать новое поле)
1.2. Я его назвал "Шрифт сообщений", описание и т.п....
1.3. Тип поля: "Текстовое поле".
1.4  Поле может быть отредактировано пользователем? Да
1.5  Сохраняем и Записываем его номер TopicView "field_x".

2. АЦ -> Скины и шаблоны -> "Используемый шаблон" (Настройка HTML) -> Topic View Section -> Post Entry (Редактировать)
2.1. Находим строку

{$post['post']}

2.2. Заменяем, подставляя номер доп. поля в X на:

<!-- Пользовательский шрифт поста -->
<script type="text/javascript">
var userFont= ("{$author["field_x"]}");
if (userFont != "") { document.write('<span style="font-family:',userFont,'">'); }
</script>

{$post['post']}

<script>
var userFontField = ("{$author["field_x"]}");
if (userFontField != "") { 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="PostFontField" class="codebuttons" onchange="ChoosedPostFont(this.options[this.selectedIndex].value)">');
   document.write('<option value="Arial" style="font-family:Arial">Arial</option>');
   document.write('<option value="Arial Black" style="font-family:Arial Black">Arial Black</option>');
   document.write('<option value="Fantasy" style="font-family:Fantasy">Fantasy</option>');
   document.write('<option value="Microsoft Sans Serif" style="font-family:Microsoft Sans Serif">Microsoft Sans Serif</option>');
   document.write('<option value="Comic Sans Ms" style="font-family:Comic Sans Ms">Comic Sans Ms</option>');
   document.write('<option value="Monospace" style="font-family:Monospace">Monospace</option>');

      document.write('</select>');
      var NowValue = "$value";
   document.write('</br>Текущий шрифт: <span style="font-family:',NowValue,'">',NowValue,'</span>');
    }
</script>

3.4. Сохраняем.
3.5. Заходим в АЦ -> Скины и шаблоны -> "Используемый шаблон" (Настройка HTML) -> User Control Panel Section -> Profile Form: Main (Редактировать)
3.6. Находим это:

//-->
</script>

3.7. Перед 3.6. вставляем, подставляя нужный х это:

function ChoosedPostFont(Font) {
   document.theForm.field_х.value = Font; 
}

3.7. Сохраняем.

Комментарии: То, что выделено синим в п 3.3. определяет содержимое выпадаемого списка, вставить новый шрифт можно добавив туда строчку вида:

document.write('<option value="Код_шрифта" style="font-family:Код_шрифта" >Название_шрифта</option>');

То, что выделено оранжевым в п. 3.3. добавляет под поле выбора шрифта строчку "Текущий шрифт", показывая код шрифта, выделенным тем шрифтом.

P.S. Весь текст взят из темы "Cообщения пользователя одницм цветом", спсб товарищу ExperT`y.

0

3

Спасиба за скрипт!!!))) :good:  :good:  :good:

0

4

{$post['post']}    - я эту строку уже много раз заменял, так же заменил ее скриптом сообщения одним цветом ...

как теперь заменить ?

0

5

2 Ataman:
Попробуй так:

<!-- Пользовательский цвет поста -->
        <script type="text/javascript">
           var userColor= ("{$author["field_x"]}");
           if (userColor != "") { document.write('<span style="color:',userColor,'">'); }
        </script>
<!-- Пользовательский шрифт поста -->
<script type="text/javascript">
var userFont= ("{$author["field_x"]}");
if (userFont != "") { document.write('<span style="font-family:',userFont,'">'); }
</script>

{$post['post']}

<script>
var userFontField = ("{$author["field_x"]}");
if (userFontField != "") { document.write('</span>'); }
</script>
<!-- Конец пользовательского шрифта -->

<script>
    var userColorField = ("{$author["field_x"]}");
    if (userColorField != "") { document.write('</span>') }
</script>

<!-- Конец пользовательского цвета -->

x - это Сообщения пользователя одним цветом
x - это Сообщения пользователя одним шрифтом

0

6

спасибо .. все работает ..  :derisive:  :)

ты пробывал создать подобную модифицацию - только размер шрифта ?

0

7

2 FleXoR & Ataman:
Не за что.  :)

ты пробывал создать подобную модифицацию - только размер шрифта ?

Нет, но если хочешь могу переделать из этой.

0

8

Урраа!! Спасибо!! :D

0

9

2 FleXoR & Ataman:
Не за что.  :)

ты пробывал создать подобную модифицацию - только размер шрифта ?

Нет, но если хочешь могу переделать из этой.

если не трудно = переделай пожалуйста ...
а то при выборе шрифта - некоторые шрифты слишком маленькии, выбор размера шрифта - исправит эту проблемку )  ;)

0

10

2 Ataman:
Появилась небольшая (хотя с какой стороны посмотреть, может и большая) проблема, вообщем если в сообщение есть цитата то после неё шрифт опять пойдёт обычного размера.
Как это обойти пока незнаю, может ExperT что подскажет.

0

11

2 Grin: Нужно смотреть в ХТМЛ коде странички, после цитаты возможно дописывается тег (к примеру </font>) или какой-нить закрывающий шрифт или размер (хз), поэтому шрифт или размер пропадает.
Если дело именно в этом, то его либо надо убрать, либо перед цитатой добавлять открывающийся тег, для этого надо писать, либо исправить тот что стоит сейчас (заменяющий таблицы цитат, кодов и т.п.) скрипт.
Я не ЗА то, что бы изменять его, в скором времени его вообще надо будет убрать и написать другой, но проблемма есть - возможно он не будет работать в некоторых браузерах, поэтому я боюсь за него браться (кстати тот что сейчас, тоже не во всех скорей всего работает)

0

12

2 ExperT:

2 Grin: Нужно смотреть в ХТМЛ коде странички, после цитаты возможно дописывается тег (к примеру </font>) или какой-нить закрывающий шрифт или размер (хз), поэтому шрифт или размер пропадает.
Если дело именно в этом, то его либо надо убрать, либо перед цитатой добавлять открывающийся тег, для этого надо писать, либо исправить тот что стоит сейчас (заменяющий таблицы цитат, кодов и т.п.) скрипт.
Я не ЗА то, что бы изменять его, в скором времени его вообще надо будет убрать и написать другой, но проблемма есть - возможно он не будет работать в некоторых браузерах, поэтому я боюсь за него браться (кстати тот что сейчас, тоже не во всех скорей всего работает)

Никаких теги незакрывают шрифт:

<div class='postcolor'> <span style='font-size:21pt;line-height:100%'>Начало большого шрифта<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Здесь идёт цытата<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->Цитата закончилась шрифт пошол обычный</span>  </div>

Хотя странно, у цытаты вообще есть свой шрифт и он определён в css

#QUOTE { white-space:normal; font-family: Verdana, Arial; font-size: 11px; color: #465584; background-color: #FAFCFE; border: 1px solid #000; padding-top: 2px; padding-right: 2px; padding-bottom: 2px; padding-left: 2px }

но в html я его невижу.  :pardon:

Отредактировано Grin (2006-04-18 01:12:03)

0

13

<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Текст цитаты<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd--><br />

после цитаты начинается открывающийся тэг div с классом postcolor, возможно в нем (в классе в css) есть параметр шрифта, он и устанавливает дальнейший шрифт.

Один из возможных вариантов выхода из энтой ситуации, это убрать параметр font у класса postcolor и в скрипте подстановки шрифта вписать условие:
Если шрифт не выбран, то поставь по умолчанию тот, который был в классе postcolor.

Это надо проверить на форуме с работающим скриптом шрифта. К сожалению я себе его еще не ставил.

0

14

Это надо проверить на форуме с работающим скриптом шрифта. К сожалению я себе его еще не ставил.

Можешь попробывать у меня? я тебе стукнулся в аську. 248774583

буду очень благодарен.

0


Вы здесь » КреатиВ.ТуТ » IPB 1.3 » Сообщения пользователя одним шрифтом