Форма даты дня роджения выпадающим списком (select)

Автор Maksovich, 13 февраля 2015, 21:54:59

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Maksovich

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

Выпадающий список имеется ввиду такой:

GeorG

Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Maksovich

Отлично! Подпилить конечно надо моды, а возможно вообще вместе объединить, но это уже ни суть.

Знаете, меня удивило вот еще что. Если включить "COPPA" (возрастное ограничение) при регистрации, то по логике форма для ввода дня рождения должна показываться сразу и быть обязательной. Но на деле ее нет и самое непонятное то что если просто нажать кнопку регистрации, не вводя данные и капчу то выводит сообщение об ошибке. Что пользователям не достигшим '$age'  лет, не разрешено регистрироваться. Как и куда тогда указывать возраст для меня загадка...

GeorG

Цитата: Maksovich от 14 февраля 2015, 06:14:00Но на деле ее нет и самое непонятное то что если просто нажать кнопку регистрации, не вводя данные и капчу то выводит сообщение об ошибке.
По вашему, в этом случае должна происходить регистрация?

Цитата: Maksovich от 14 февраля 2015, 06:14:00Что пользователям не достигшим '$age'  лет, не разрешено регистрироваться. Как и куда тогда указывать возраст для меня загадка...
В профиле вводить после регистрации, если пользователь хочет указать свой возраст, если не хочет, то подразумевается что ему сколько-то более 18-ти.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Maksovich

Цитата: GeorG от 14 февраля 2015, 11:21:18По вашему, в этом случае должна происходить регистрация?
Нет, должно быть сообщение о неправильно введенной капчи / имени / пароля. Обычно про капчу пишется если ничего не заполнять. Но это в случае когда нет ограничения по возрасту.

Нет логики вообще никакой. То есть если я ставлю ограничение по возрасту, то и должен спрашиваться возраст при регистрации. Даже в описании к ограничению написано:

ЦитироватьЕсли на форуме стоит учет возраста и возраст пользователя меньше чем определено в настройках регистрации, существуют два дальнейших действия, а именно:
- Отменить регистрацию (Дальнейшая регистрация пользователя невозможна).
- Запросить подтверждение у родителей/опекуна (Будет отправлено письмо родителям/опекунам пользователя).

Само слово "Дальнейшая регистрация" и говорит о продолжении регистрации. А тут получается что мы уже зарегистрировались. Потом по желанию вводим возраст и продолжаем уже законченную до этого регистрацию что ли? Бред по моему.


GeorG

Если так, вы этим вы обязываете пользователя указать свой возраст. Что не всем нужно... Пользователь и так жмет на кнопку, где подтверждает что он совершенно летний. На деле вы все равно не проверите сколько ему лет.
Что собственно не запрещает вам сделать такую проверку как вы хотите, с помощью дополнительных доработок.

ИХМО, вообще правильнее делать проверку на доступ в раздел форума, а не на весь форум.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Maksovich

В общем запилил объединение этих плагинов в один с доработкой.

1. Убрал внутренний отступ и выравнял дизайн.
2. Месяца отображаются не сокращенно а полностью и в родительном падеже.
3. Минимальный год не 1904 а рассчитывается по формуле: Текущий - 100 лет.
4. Максимальный год не текущий а расчитывается по формуле: Текущий - 5 лет.
5. Не требуется добавление дополнительных переменных в языковые файлы.

Прикрепляю, возможно кому-то будет полезно. Заодно и в свой блог добавлю. Возможно со временем добавлю опций для настройки.

digger®

Цитата: Maksovich от 14 февраля 2015, 21:14:23
В общем запилил объединение этих плагинов в один с доработкой.
Прикрепляю, возможно кому-то будет полезно. Заодно и в свой блог добавлю. Возможно со временем добавлю опций для настройки.
Под какими лицензиями распространяются исходные моды?
Допускают ли они распространение своих модифицированных версий?

GeorG

В первом автор ничего не указывает, у второго лицензия CC BY-NC-ND 3.0 (т.е., требуется ссылка на оригинал, с описанием ваших изменений).
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

digger®

Цитата: GeorG от 14 февраля 2015, 23:52:52
В первом автор ничего не указывает,
В таком случае, лицензия соответствует текущей лицензии самого SMF
Цитировать
у второго лицензия CC BY-NC-ND 3.0 (т.е., требуется ссылка на оригинал, с описанием ваших изменений).
CC BY-NC-ND 3.0
NoDerivatives — If you remix, transform, or build upon the material, you may not distribute the modified material.

Maksovich

Во втором я только глянул какой файл редактировать а так все основано на Intuitive-Age (первом).

Yarik

Цитата: Maksovich от 15 февраля 2015, 00:04:04
Во втором я только глянул какой файл редактировать а так все основано на Intuitive-Age (первом).
Как бы нечего,но после его установки стала вываливатся ошибка при регистрации.
8: Undefined index: dob

Файл: /home/y@@@@/www/Themes/default/Register.template.php
Строка: 195
192: // "Pretty box", huh? Now it's pretty ;)
193: echo '<dl class="register_form">
194: <dt>
==>195: <strong>', $txt['dob'], ':</strong>
196: </dt>
197: <dd>';
198:
199: echo '<select name="bday2" id="bday2">
200: <option value="00"', isset($context['member']['birth_date']['day']) && ($context['member']['birth_date']['day'] == '' || $context['member']['birth_date']['day'] == '00') ? ' selected="selected"' : '', '>', $txt['calendar_day'], '&nbsp;</option>';
201:

Maksovich


Maksovich

Ошибочка вышла. Видимо когда ставил плагины, тестировал и что-то делал все закешировалось... Сегодня заметил что действительно есть ошибка.
В файле Register.template.php строчки:

//-- Labradoodle-360; Intuitive Age
global $context, $txt, $modSettings;

Заменить на:

//-- Labradoodle-360; Intuitive Age
loadLanguage('Profile');


Чтобы не повторятся два раза и подгрузить языковой файл Profile в котором и расположен нужный $txt['dob']

Yarik


Yarik

Цитата: Yarik от 24 февраля 2015, 09:00:49
Благодарю +,протестирую отпишусь.
После внесения изменений теперь работает без ошибок.