Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как сделать цвет ника в зависимости от значения доп поля?

Как сделать цвет ника в зависимости от значения доп поля?


     22.01.2018    php, хак, ник, профиль    Все вопросы » Общие вопросы по PHP    332

вопрос
Как сделать цвет ника в зависимости от значения доп поля?
Например у меня есть доп поле "Пол" выбираю мужской - цвет синий Выбираю женский - цвет ника розовый?
Заранее спасибо!

Ответа пока нет


12 комментариев

vadosrespekt
Юзер

vadosrespekt - 22 января 2018 18:58 -

В profile.php найти

if( !$xfgiven ) {

				$tpl->copy_template = preg_replace( "'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is", "", $tpl->copy_template );
				$tpl->copy_template = str_replace( "[xfnotgiven_{$value[0]}]", "", $tpl->copy_template );
				$tpl->copy_template = str_replace( "[/xfnotgiven_{$value[0]}]", "", $tpl->copy_template );

			} else {

				$tpl->copy_template = preg_replace( "'\\[xfnotgiven_{$preg_safe_name}\\](.*?)\\[/xfnotgiven_{$preg_safe_name}\\]'is", "", $tpl->copy_template );
				$tpl->copy_template = str_replace( "[xfgiven_{$value[0]}]", "", $tpl->copy_template );
				$tpl->copy_template = str_replace( "[/xfgiven_{$value[0]}]", "", $tpl->copy_template );

			}


вставить ниже

$tpl->copy_template = preg_replace( "'\\[xfvalue_{$preg_safe_name}\\]'i", stripslashes( $xfieldsdata[$value[0]] ), $tpl->copy_template );


в userinfo.tpl


<span style="[ifxfvalue дополе="man"]color:blue;[/ifxfvalue][ifxfvalue дополе="women"]color:red;[/ifxfvalue]">Nickname</span>


В комментариях наверно аналогично нужно добавить

$tpl->copy_template = preg_replace( "'\\[xfvalue_{$preg_safe_name}\\]'i", stripslashes( $xfieldsdata[$value[0]] ), $tpl->copy_template );

ewak
Юзер

ewak - 22 января 2018 20:02 -

в prifile.php уже есть эта строка и что это?
<span style="[ifxfvalue дополе="man"]color:blue;[/ifxfvalue][ifxfvalue дополе="women"]color:red;[/ifxfvalue]">Nickname</span>

vadosrespekt
Юзер

vadosrespekt - 22 января 2018 20:11 -

Это в шаблон userinfo.tpl
Из документации

[ifxfvalue tagname="tagvalue"] Текст [/ifxfvalue]
Выводят текст заключенный в них, если значение дополнительного поля совпадает с указанным. Где tagname это имя дополнительного поля, а tagvalue это его значение.

То есть тебе нужно прописать
[ifxfvalue дополе="man"]синий[/ifxfvalue]
[ifxfvalue дополе="women"]розовый[/ifxfvalue]
дополе - имя твоего доп.поля
man или women - значение из доп.поля

ewak
Юзер

ewak - 22 января 2018 20:18 -

Спасиб

ewak
Юзер

ewak - 22 января 2018 20:24 -

Не работает ;(
Пишу так:
[ifxfvalue Pol="Мальчик"]Мальчик[/ifxfvalue]
[ifxfvalue Pol="Девушка"]Тёлка[/ifxfvalue]
[ifxfvalue Pol="Незнаю"]Незнаю[/ifxfvalue]


Всё выводится так в шаблоне
[ifxfvalue Pol="Мальчик"]Мальчик[/ifxfvalue] [ifxfvalue Pol="Девушка"]Тёлка[/ifxfvalue] [ifxfvalue Pol="Незнаю"]Незнаю[/ifxfvalue]

vadosrespekt
Юзер

vadosrespekt - 22 января 2018 20:40 -

Должно работать
Движок какой версии?

souz21
Юзер

souz21 - 22 января 2018 22:49 -

Вы чё с ума сходите? )) Всё это делается через css.

souz21
Юзер

souz21 - 22 января 2018 23:03 -

Имеем дополнительное поле с именем male ( [xfvalue_male] )

Перечислены значения:
Мужчина
Женщина

HTML код типа этого или через div, либо просто добавить к существующему классу этот label-danger-[xfvalue_male]
<span class="label-danger-[xfvalue_male]">[xfvalue_male]</span>

CSS
.label-danger-Мужчина {
  background-color: #e43012;
}
.label-danger-Женщина {
  background-color: #77c720;
}

Результат у меня в зависимости от значения в поле с помощью css СКРИН

vadosrespekt
Юзер

vadosrespekt - 23 января 2018 00:33 -

В твоем случае нужно создавать два доп.поля

souz21
Юзер

souz21 - 23 января 2018 00:45 -

Где у меня два поля?
РАЗ
ДВА

vadosrespekt
Юзер

vadosrespekt - 23 января 2018 02:18 -

Кириллица в css?

souz21
Юзер

souz21 - 23 января 2018 02:19 -

Да хоть китайские иероглифы

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх