Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Как сделать условие выборки НЕ по значению дополнительного поля

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


     14.08.2012    Общие вопросы    2878

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

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

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

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

Ответил: 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
14 | 16

ergeykl - 14 августа 2012 22:33 - Юзер

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

ПафНутиЙ
1065

3395 | 2433

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

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

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

ergeykl
14 | 16

ergeykl - 14 августа 2012 23:02 - Юзер

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

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

ergeykl
14 | 16

ergeykl - 14 августа 2012 22:50 - Юзер

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

ergeykl
14 | 16

ergeykl - 14 августа 2012 23:02 - Юзер

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

nowheremany
192

1659 | 1292

nowheremany - 15 августа 2012 10:44 - Эксперт

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

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

ergeykl
14 | 16

ergeykl - 15 августа 2012 11:03 - Юзер

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

nowheremany
192

1659 | 1292

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
14 | 16

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
29

182 | 174

promax - 15 августа 2012 14:55 - Юзер

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

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

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