КреатиВ.ТуТ

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

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


Вы здесь » КреатиВ.ТуТ » IPB 1.3 » Подарки и призы


Подарки и призы

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

Опрос

Как вам это?
Отлично

64% - 16
Хорошо

16% - 4
Нормально

8% - 2
Удовлетворитель

0% - 0
Плохо

0% - 0
Бездарно

12% - 3
Голосов: 25

1

Значит так. У меня в профиле кажись присутствуют. Можете посмотреть.

1. Создаем доп. поле
Название*: Подарки и призы
Тип поля*: Текстовое
Добавить это поле и на страницу регистрации?* Нет
Сделать это поле обязательным для заполнения?* Нет
Скрыть это поле в профиле?* Нет
Поле может быть отредактировано пользователем?* Да
* - обязательно должно быть чёткое соответсвие, особенно Название, без него выводиться не будет.

2. Редактируем шаблон: Profile View Sections ->  Member Profile Page
В самый верх добавляем это:

<script language='Javascript' type='text/javascript'>

  function PrintPresents(fieldName,fieldValue) {
      if (fieldName == "Подарки и призы") {
        if (fieldValue != "<i>Нет информации</i>") {
          var nValue = new Array;
          var NValueF = new Array;
          var k = 0;
          nValue = fieldValue.split("|");
          document.write('<tr><td colspan="2" width="100%"><table class="tableborder" cellspacing="1" cellpadding="4" valign="top" width="100%"><tr><td class="maintitle" colspan="5">Подарки и призы. Всего ',(nValue.length - 1),'.</td></tr><tr>');
          for( i = 0 ; i < (nValue.length - 1); i++ ) {
             k++;
             if ( k == 6 ) {
               k = 0;
               document.write('</tr><tr>')
             }
             NValueF = nValue[i].split("][");
             document.write('<td align="center" valign="center" class="row4"><b>',NValueF[0],'</b></br><a title="',NValueF[1],'" href="',NValueF[3],'"><img id="imgP',i,'" src="',NValueF[2],'" border="0" /></td>');
          }
          document.write('</tr></table></td></tr>');
        }
        else {
          document.write('<tr><td class="row3" valign="top"><b>',fieldName,'</b></td><td align="left" class="row1">Подарков и призов нет.</td></tr>')
        }
     }
     else {
      document.write('<tr><td class="row3" valign="top"><b>',fieldName,'</b></td><td align="left" class="row1">',fieldValue,'</td></tr>')
     }
}
</script>

Сохраняем

3. Редактируем шаблон Profile View Sections ->  Custom Field
Вместо того что там есть, вставляем это:

<script>PrintPresents("$title","$value")</script>

Раньше там было (если вернуть захотите):

<tr><td class="row3" valign='top'><b>$title</b></td><td align='left' class='row1'>$value</td></tr>

4. Редактируем шаблон User Control Panel Section -> Profile Form: Custom Profile Text Input
Вставляем в самый низ это:

Дополнение: Если вы хотите чтобы у вас в топике было видно количество подарков, то в шаблон Topic View -> Post entry под аватару (ищите сами) вставляем это:

<script language=JavaScript1.2  type=text/javascript>
  presents = "{$author['field_X']}";
  var aPresents = new Array;
  aPresents = presents.split('|');
  if (aPresents.length != 1 ) {
    document.write('Подарки и призы: <b>',(aPresents.length - 1),'</b>.');
  }
  else {
    document.write('<center>Подарков и призов нет.</center>');
  }
</script>

Или, если вы хотите что б под надписью отображались маленькие пиктограммы с изображением, то вставляете код:

<script language=JavaScript1.2  type=text/javascript>
  presents = "{$author['field_X']}";
  var aPresents = new Array;
  aPresents = presents.split('|');
  if (aPresents.length != 1 ) {
    document.write('Подарки и призы: <b>',(aPresents.length - 1),'</b>.');
    document.write('</br>');
          var NValueF = new Array;
          var k = 0;
          for( i = 0 ; i < (aPresents.length - 1); i++ ) {
            NValueF = aPresents[i].split("][");
            document.write('<img width="13" height="13" id="imgP',i,'" src="',NValueF[2],'" border="0" />');
          }
  }
  else {
    document.write('<center>Подарков и призов нет.</center>');
  }
</script>

Вот собственно все. Только вместо X во всех скриптах вставляйте номер этого доп. поля. (номер доп. поля можно узнать в АЦ -> Пользователи и группы -> Дополнительные поля профиля, смотреть в колонку "Переменная Topic View".

Теперь заходите в админку, находите нужного пользователя и в поле "Подарки и призы" добавляете подарок в таком виде:

Название - то что будет написано над миниатюрой
Описание - будет в подсказке, когда наведут на миниатюру.
Миниатюра - если вы к примеру дарите БОЛЬШУЮ открытку и не хотите что б весь профиль был в одной вашей картинке, то вы делаете миниатюрку - маленькую картинку, и в дальнейшем используете на неё ссылку, а если не хотите то можете вместо миниатюры поставить ссылку на обычную картинку
Полная картинка - сама картинка/открытка/подарок.
Красным веделены знаки, которые должны быть обязательно, на каждый приз ровно столько, сколько написано. И в описаниях и названиях подарков не использовать эти знаки! не ][ и не |. Иначе будет ошибка.

Дополнение:
Если на страничках неотображаются подарки проверьте:
Экономия CPU -> Разрешить отображение дополнительных полей профиля в темах? -> ДА

Отредактировано Grin (2006-11-15 22:11:58)

0

2

2 ExperT:

У меня в твоём профиле ничего не видно(((

0

3

Кстати я тоже ничего не вижу)))))

0

4

Только админы и супермодераторы видели =(

Сейчас исправлено. Заценивайте.

0

5

Это всем видно? не только админам и модерам? Короче у меня получилось)))))))

Спасибо

0

6

Да, должно быть видно всем. Ну проверьте.

Незачто.

0

7

Да всем видно))

0

8

Можно еще под аватаром в принциппе написать:
Всего подарков: X
А когда нет подарков писать: Призов и подарков нет

Могу сделать.

0

9

2 ExperT:

Можно еще под аватаром в принциппе написать:
Всего подарков: X
А когда нет подарков писать: Призов и подарков нет

Могу сделать.

Было бы отлично  :good:

0

10

Ок, чуть позже накалякаю :)

0

11

2 ExperT:
Спасибо....большое человеческое спасибо!!!

0

12

2 ExperT:
Тока предложение - может енту таблицу не надо "врезать" в таблицу Информация....а разместить снизу и растянуть по ширине таким образом...

0

13

2 FleXoR: Это не так легко, а может и вообще не осущетсвимо. Я бы и сам сделал, но такова структура профиля. Если бы хотябы доп. поля были справа а аватор и т.п. слева, то можно было бы так сделать, и вот пока их местами не поменяешь, это сделать трудно. Если смогу, то напишу как, а пока я еще не копался даже.

0

14

Обновлен первый пост. Добавлено Дополнение и поправлен пункт 4, вместо X надо вставить номер доп. поля, иначе через профиль пользователь сам сможет добавить себе подарки.

0

15

2 ExperT:
А... понятно....всё-таки версия бесплатная и таких глобальных изменений добиться сложно...

Отредактировано FleXoR (2006-02-27 14:22:39)

0

16

я просто даже не разбирался, поэтому говорить не буду что невозможно, но и не скажу что сделаю :)
Если удастся - я естественно поменяю, т.к. сейчас не очень симпотично. И как я сменю, напишу тут.

0

17

2 ExperT:
ок.жду))

0

18

Эээ...у меня есть награда. а в теме видно что нет

0

19

2 Butterfly: давайте ссылку, проверим.

0

20

http://kristallik.1bb.ru/

0

21

2 Butterfly: Скорей всего вы указали не верный номер X доп. поля в post entry. Проверьте.

0

22

можно добавить несколько таких модификаций ?

допустим подарки и призы, артефакты, медали, деньги  ...

0

23

Можно, только надо скрипты изменять. Вот для артефактов, но я не проверял.

Пункт 2.

<script language='Javascript' type='text/javascript'>

  function PrintPresents(fieldName,fieldValue) {
      if (fieldName == "Подарки и призы") {
        if (fieldValue != "<i>Нет информации</i>") {
          var nValue = new Array;
          var NValueF = new Array;
          var k = 0;
          nValue = fieldValue.split("|");
          document.write('<tr><td colspan="2" width="100%"><table class="tableborder" cellspacing="1" cellpadding="4" valign="top" width="100%"><tr><td class="maintitle" colspan="5">Подарки и призы. Всего ',(nValue.length - 1),'.</td></tr><tr>');
          for( i = 0 ; i < (nValue.length - 1); i++ ) {
             k++;
             if ( k == 6 ) {
               k = 0;
               document.write('</tr><tr>')
             }
             NValueF = nValue[i].split("][");
             document.write('<td align="center" valign="center" class="row4"><b>',NValueF[0],'</b></br><a title="',NValueF[1],'" href="',NValueF[3],'"><img id="imgP',i,'" src="',NValueF[2],'" border="0" /></td>');
          }
          document.write('</tr></table></td></tr>');
        }
        else {
          document.write('<tr><td class="row3" valign="top"><b>',fieldName,'</b></td><td align="left" class="row1">Подарков и призов нет.</td></tr>')
        }
     }

      if (fieldName == "Артефакты") {
        if (fieldValue != "<i>Нет информации</i>") {
          var nValue = new Array;
          var NValueF = new Array;
          var k = 0;
          nValue = fieldValue.split("|");
          document.write('<tr><td colspan="2" width="100%"><table class="tableborder" cellspacing="1" cellpadding="4" valign="top" width="100%"><tr><td class="maintitle" colspan="5">Артефакты. Всего ',(nValue.length - 1),'.</td></tr><tr>');
          for( i = 0 ; i < (nValue.length - 1); i++ ) {
             k++;
             if ( k == 6 ) {
               k = 0;
               document.write('</tr><tr>')
             }
             NValueF = nValue[i].split("][");
             document.write('<td align="center" valign="center" class="row4"><b>',NValueF[0],'</b></br><a title="',NValueF[1],'" href="',NValueF[3],'"><img id="imgP',i,'" src="',NValueF[2],'" border="0" /></td>');
          }
          document.write('</tr></table></td></tr>');
        }
        else {
          document.write('<tr><td class="row3" valign="top"><b>',fieldName,'</b></td><td align="left" class="row1">Артефактов нет.</td></tr>')
        }
     }
     else {
      document.write('<tr><td class="row3" valign="top"><b>',fieldName,'</b></td><td align="left" class="row1">',fieldValue,'</td></tr>')
     }
}
</script>

Пункт 4.

<script>
   if ("$name" == "field_X") {
     document.theForm.field_X.style.visibility="hidden";
     document.write("</br>Вы не можете редактировать это поле.")
   }
   if ("$name" == "field_X") {
     document.theForm.field_X.style.visibility="hidden";
     document.write("</br>Вы не можете редактировать это поле.")
   }
</script>

Синий X - номер доп. поля подарков
Красный X - номер доп. поля артефактов

Ну и дополнение в post entry

<script language=JavaScript1.2  type=text/javascript>
  presents = "{$author['field_X']}";
  var aPresents = new Array;
  aPresents = presents.split('|');
  if (aPresents.length != 1 ) {
    document.write('Артефакты: <b>',(aPresents.length - 1),'</b>.');
  }
  else {
    document.write('<center>Артефактов нет.</center>');
  }
</script>

Проверяй.

0

24

ого ....

на первой странице - я сменил в скриптах названия Подарки И призы - на свои ...

добавил скрипт - теперь одна строка свдинулась

[реклама вместо картинки]

хотел подправить, а ее здесь нет Member Profile Page ..

0

25

Обновлен первый пост, добавлен скрипт показывающий пиктограмки под аватарами.

0

26

Можно, только надо скрипты изменять. Вот для артефактов, но я не проверял.

Пункт 2.

<script language='Javascript' type='text/javascript'>

  function PrintPresents(fieldName,fieldValue) {
      if (fieldName == "Подарки и призы") {
        if (fieldValue != "<i>Нет информации</i>") {
          var nValue = new Array;
          var NValueF = new Array;
          var k = 0;
          nValue = fieldValue.split("|");
          document.write('<tr><td colspan="2" width="100%"><table class="tableborder" cellspacing="1" cellpadding="4" valign="top" width="100%"><tr><td class="maintitle" colspan="5">Подарки и призы. Всего ',(nValue.length - 1),'.</td></tr><tr>');
          for( i = 0 ; i < (nValue.length - 1); i++ ) {
             k++;
             if ( k == 6 ) {
               k = 0;
               document.write('</tr><tr>')
             }
             NValueF = nValue[i].split("][");
             document.write('<td align="center" valign="center" class="row4"><b>',NValueF[0],'</b></br><a title="',NValueF[1],'" href="',NValueF[3],'"><img id="imgP',i,'" src="',NValueF[2],'" border="0" /></td>');
          }
          document.write('</tr></table></td></tr>');
        }
        else {
          document.write('<tr><td class="row3" valign="top"><b>',fieldName,'</b></td><td align="left" class="row1">Подарков и призов нет.</td></tr>')
        }
     }

      if (fieldName == "Артефакты") {
        if (fieldValue != "<i>Нет информации</i>") {
          var nValue = new Array;
          var NValueF = new Array;
          var k = 0;
          nValue = fieldValue.split("|");
          document.write('<tr><td colspan="2" width="100%"><table class="tableborder" cellspacing="1" cellpadding="4" valign="top" width="100%"><tr><td class="maintitle" colspan="5">Артефакты. Всего ',(nValue.length - 1),'.</td></tr><tr>');
          for( i = 0 ; i < (nValue.length - 1); i++ ) {
             k++;
             if ( k == 6 ) {
               k = 0;
               document.write('</tr><tr>')
             }
             NValueF = nValue[i].split("][");
             document.write('<td align="center" valign="center" class="row4"><b>',NValueF[0],'</b></br><a title="',NValueF[1],'" href="',NValueF[3],'"><img id="imgP',i,'" src="',NValueF[2],'" border="0" /></td>');
          }
          document.write('</tr></table></td></tr>');
        }
        else {
          document.write('<tr><td class="row3" valign="top"><b>',fieldName,'</b></td><td align="left" class="row1">Артефактов нет.</td></tr>')
        }
     }
     else {
      document.write('<tr><td class="row3" valign="top"><b>',fieldName,'</b></td><td align="left" class="row1">',fieldValue,'</td></tr>')
     }
}
</script>

Пункт 4.

<script>
   if ("$name" == "field_X") {
     document.theForm.field_X.style.visibility="hidden";
     document.write("</br>Вы не можете редактировать это поле.")
   }
   if ("$name" == "field_X") {
     document.theForm.field_X.style.visibility="hidden";
     document.write("</br>Вы не можете редактировать это поле.")
   }
</script>

Синий X - номер доп. поля подарков
Красный X - номер доп. поля артефактов

Ну и дополнение в post entry

<script language=JavaScript1.2  type=text/javascript>
  presents = "{$author['field_X']}";
  var aPresents = new Array;
  aPresents = presents.split('|');
  if (aPresents.length != 1 ) {
    document.write('Артефакты: <b>',(aPresents.length - 1),'</b>.');
  }
  else {
    document.write('<center>Артефактов нет.</center>');
  }
</script>

Проверяй.

щас проверю..

0

27

Обновлен первый пост, добавлен скрипт показывающий пиктограмки под аватарами.

спасибо )  ;)

0

28

2 Ataman: Она не сдвинулась, ты просто добавил доп. поле еще одно после подарков и призов.

0

29

2 Ataman: Она не сдвинулась, ты просто добавил доп. поле еще одно после подарков и призов.

Ваше Имя: Text Input field_1 Y   Y Edit Delete Ваш Пол Drop Down Box field_2 Y   Y Edit Delete
Место Проживания Text Input field_3       Edit Delete
Родина Text Input field_4       Edit Delete
Ваша Склонность Drop Down Box field_5       Edit Delete
Откуда узнали о нас Text Input field_6 Y   Y Edit Delete
Цвет сообщений Text Input field_7     Y Edit Delete
Деньги Text Input field_8       Edit Delete
Артефакты Text Input field_9

0

30

2 Ataman: Она не сдвинулась, ты просто добавил доп. поле еще одно после подарков и призов.

Ваше Имя: Text Input field_1 Y   Y Edit Delete Ваш Пол Drop Down Box field_2 Y   Y Edit Delete
Место Проживания Text Input field_3       Edit Delete
Родина Text Input field_4       Edit Delete
Ваша Склонность Drop Down Box field_5       Edit Delete
Откуда узнали о нас Text Input field_6 Y   Y Edit Delete
Цвет сообщений Text Input field_7     Y Edit Delete
Деньги Text Input field_8       Edit Delete
Артефакты Text Input field_9

добавляю новые поля - а имя все равно остается последним ...

0


Вы здесь » КреатиВ.ТуТ » IPB 1.3 » Подарки и призы