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

Как сделать условие выборки НЕ по значению дополнительного поля


     14.08.2012    дополнительные поля    Все вопросы » Общие вопросы    4493

вопрос
Всем привет!
Появилась нужда в одной штуке.
Нужно сделать так чтобы при выборе пола пользователя, в профиле было что-то типа того

[мужской]информация для пользователей с мужским полом[/мужской]

[женский]информация для пользователей с женским полом[/женский]

то есть создать в базе данных две колонки. И при редактировании профиля можно было выбрать пол как тут
Как сделать условие выборки НЕ по значению дополнительного поля

Ответил: ergeykl


Нашел временное решение данного вопроса.

Заходите в Панель управления -> Все разделы -> Настройка профиля (Дополнительные поля профиля).
Далее
Название поля: man
Описание поля: Пол пользователя мужской
Тип поля: Одна строка
Добавить на страницу регистрации?: Нет
Поле может быть изменено пользователем?: Да
Сделать это поле личным?: Нет

Название поля: woman
Описание поля: Пол пользователя женский
Тип поля: Одна строка
Добавить на страницу регистрации?: Нет
Поле может быть изменено пользователем?: Да
Сделать это поле личным?: Нет

Идём в userinfo.tpl

Вставляем куда надо это:
[xfgiven_age][u]Если пользователь в дальнейшем выберет пол "мужской", то это он будет видеть[/u][/xfgiven_age]


Далее ищем {xfields} и удаляем.

Потом вставляем куда удобно этот код:

<input class="required" name="xfield[man]" value="Мужской" type="radio"> <b>Мужской</b></label>
<input class="required" name="xfield[woman]" value="Женский" type="radio"> <b>Женский</b></label>


Возможно кому-то понадобится.
Минусы состоят в том, что при последующем входе на страницу регистрации данных надо будет выбирать "Пол" заново. Потому что галочки не сохраняются.

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

ergeykl
Юзер

ergeykl - 14 августа 2012 22:33 -

это нужно осуществить не по дополнительным полям а по обычным!
ну тоесть сделать запрос на два столбца в dle_users и чтобы можно было выбрать пол как на скрине.
Но как это осуществить не знаю. (не знаю именно то как сделать чтобы выбор пола (НЕ ПО ДОПОЛНИТЕЛЬНМ ПОЛЯМ) был как на скриншоте)

ПафНутиЙ
Админ

ПафНутиЙ - 14 августа 2012 22:39 -

поправил, но чем вам допполя не угодили?

Каков вопрос - таков и ответ. Просто помните об этом.

ergeykl
Юзер

ergeykl - 14 августа 2012 23:02 -

блин походу моя идея была изначально безнадежна.
Сейчас постараюсь объяснить как можно понятней.

Нужно было сделать так: Пользователь заходит в редактирование профиля и выбирает из списка как на скрине вариант. Назовем их 1ый и 2ой
При выборе 1ого в его профиле отображается информацию заключенная в условие [1ый вариант]инфа[/1ый вариант]
а если выбирает 2ой вариант, то появляется [2ой вариант]инфа[/2ой вариант] а первое условие тем временем не отображается.
Фух! Вроди бы понятно объяснил. smile

ergeykl
Юзер

ergeykl - 14 августа 2012 22:50 -

ПафНутиЙ,
дело в том, что вид выбора пол нужен как на скриншоте. Если я выберу 1ый вариант, условие будет только одно ведь, так? т.е. условие будет или есть текст или нет...
а мне нужно чтобы было так: если есть текст, то какой (если 1ый) то будет такое то значение, а если второй то другой.
Мда объясняю я конечно... lol

ergeykl
Юзер

ergeykl - 14 августа 2012 23:02 -

чет опять намудрил с комментариями feel

nowheremany
Эксперт

nowheremany - 15 августа 2012 10:44 -

JQгукн в помощь. change функцию посмотри.

Благодарность принимаю тут Связь

ergeykl
Юзер

ergeykl - 15 августа 2012 11:03 -

для меня это слишком сложно...
вроди бы примеры с change функцией я нашел и там впринципе понятно, но как сделать с сохранением выбора и отправкой его в базу данных?

nowheremany
Эксперт

nowheremany - 15 августа 2012 11:20 -

Задачу не совсем понял.
Если значение селекта #1 - то текст #1
Если значение селекта #2 - то текст #2

ТО сделать можно так

$(function () {
var select_value=$('#идселекта').val();
if(var select_value=='Значение #1') $('#iddiv').html('текст #1');
if(var select_value=='Значение #2') $('#iddiv').html('текст #2');
})

Благодарность принимаю тут Связь

ergeykl
Юзер

ergeykl - 15 августа 2012 11:42 -

не понимаю куда этот код пихать и в какие теги заключать...

Так?

<script type="text/javascript">
$(function () {
var select_value=$('#sex').val();
if(var select_value=='Значение #1') $('#iddiv').html('текст #1');
if(var select_value=='Значение #2') $('#iddiv').html('текст #2');
})
</script>

и что дальше делать?

promax
Юзер

promax - 15 августа 2012 14:55 -

вставьте в шаблон , при выборе значения 1 в div добавится текс #1 ... Но это не то , что вы хотели

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

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

наверх