Красивое решение выбора города в профиле.

Автор: Madmax
Опубликовано: 603 дня назад (27 сентября 2010)
Рубрика: Без рубрики
+41
Голосов: 41
Может быть данное решение не будет красивым, как те что были на сайте представлены, но я вот тоже решил попробовать сделать выбор города в профиле пользователя, чтобы было красиво и удобно. В моем варианте самое ценное это база данных, которая является почти такой же, как на сайте mamba. База содержит информацию по странам, регионам и городам.
Итак как поставить данное решение:
1. Распаковать архив в корень сайта.
2. Через phpmyadmin вставить дамп базы в свою базу данных сайта.
3. Открыть профиль и проверить что все работает.


ссылка для скачивания http://www.instantcms.ru/users/files/download613.html
Как правильно ОБНОВИТЬ САЙТ? | Псевдо WAP - 2
... # 27 сентября 2010 в 22:34 0
Молодец. +++
Нужное дело, нужное.
BilarИuss # 27 сентября 2010 в 23:57 0
не работает InstantCMS v1.6.2
страна выбор, а там нет не чего ((
lezginka.ru # 28 сентября 2010 в 06:36 0
++
LonelyCat # 28 сентября 2010 в 09:11 0
Красиво!!! 1.6.2 - все работает.
Юрий (Pizza Celentano) # 28 сентября 2010 в 20:48 0
Спасибо! Но у меня доходит до выбора города и на этом всё, список городов не выводится только надпись "выберите город" :о(
0 # 29 сентября 2010 в 01:05 0
Блин, так обидно!sad2 дня назад сделал все тоже самое на своем сайте.
И почти с той же базой. :(
... # 29 сентября 2010 в 01:15 0
Я тут призадумался и решил не лампичить себе выбор городов, умный напишет и так, баклан все равно промахнется, а приколист напишет так, как еН видит свой городец... Во как 8)))) Че зря пытаться загонять несуществующих юзеров да в эфемерные рамки своего ограниченного сознания 8))))))
Greener # 29 сентября 2010 в 14:59 0
Интересно, на каком это сайте такая вольница обещается... ;)
Уж не знаю, к добру ли такие свобоные космополитические нравы... =)
... # 29 сентября 2010 в 15:13 0
Может и не к добру. хз...
LonelyCat # 1 октября 2010 в 17:32 0
Возникла проблема: на реальном сайте не хотят выбираться города. После загрузки страницы настроек профиля выбор страны появляется через пару секунд, выбор региона после этого еще примерно 3-4 секунды, выбор города не раскрывается - просто "выберите город".

В чем косяк?
Агроном # 7 октября 2010 в 12:24 0
Выбор работает, но профиль не сохраняется почему-то. версия 1.6.2
sESo # 7 октября 2010 в 21:36 0
Молодец :)))
Умные Интернет Разработки # 14 октября 2010 в 12:32 +3
Все работает, за исключением сохранения в браузере opera. Когда нажимаешь сохранить, ничего не происходит.
sabrust # 12 декабря 2010 в 10:54 +1
а в 1.7 будет работать?
А.Б. # 9 мая 2011 в 16:12 +1
в 1.8 работает отлично. Значит и в 1.7 будет
Пилигриm # 8 января 2011 в 11:24 0
А есть такая же штука, только для каталога? Нужно создать базу адресов со структурой: адреса >> регион >> район. Пока каждый район вручную забиваю :(
WALTERZ # 23 января 2011 в 18:18 0
При перенастройки город сбрасывается..это плохо.
А.Б. # 9 мая 2011 в 16:11 +1
поддерживаю, таже самая проблема. Решение есть этому?
DagStudent # 28 мая 2011 в 18:22 +2
Я сделал так
в файле com_users_edit_profile.tpl
замените этот участок кода:
Код PHP:
<form action="" method="POST">
            <div>
                <strong>Страна:</strong>
                <select name="country" id="country">
                <option value="" selected>Выберите страну</option>
                </select>
            </div>
            <div class="region">
                <strong>Регион:</strong>
                <select name="region" id="region">
                <option value="">Выберите регион</option>
                </select>
            </div>
            <div class="city">
                <strong>Город:</strong>
                <select name="city" id="city">
                <option value="">Выберите город</option>
                </select>
            </div>
        </form>
на этот:
Код PHP:
          <b>Текущий: {$usr.city|escape:'html'}</b><br/>Изменить на:
            <div>
                <strong>Страна:</strong>
                <select name="country" id="country" type=hidden>
                <option value="" selected>Выберите страну</option>
                </select>
            </div>
            <div class="region">
                <strong>Регион:</strong>
                <select name="region" id="region">
                <option value="">Выберите регион</option>
                </select>
            </div>
            <div class="city">
                <strong>Город:</strong>
                <select name="city" id="city">
                <option value="{$usr.city|escape:'html'}">Выберите город</option>
                </select>
            </div>
Кстати после такой замены Опера тоже сохраняет изменения :)
Suslik # 2 июля 2011 в 18:56 0
а будет ли такая штука работать для клубов? очень надо
trish # 23 февраля 2011 в 13:53 +1
Madmax, я использовала вашу форму выбора города, в таблицу cms_user_profiles добавила 2 поля - сountry и region, в файле frontend.php добавила код записи в таблицу id страны и региона. Можно же сделать, чтоб если пользователь ранее выбрал город (т.е. в таблице профиля есть id страны, региона и название города), то эти значения автоматически подтягивались в форму выбора при переходе по кнопке Настройки профиля.
DagStudent # 27 мая 2011 в 11:08 0
Все хорошо кроме одного, после того как выбрал город и сохранил, если потом когда нибудь что то придется менять в настройках и забудешь опять найти и выставить свой город перед сохранением то город пропадает. Насколько я понимаю нужно в коде дописать чтобы при входе в настройки профиля при указанном городе делался поиск его региона и страны, и пункты страна, регион и город уже были выбранными чтобы при сохранении город не терялся. Или же так при входе в настройки проверяется значение города пустое оно или нет, если пустое выводится выберите страну, регион и город, а если поле городе не пустое то выводится название города а рядом кнопка изменить при нажатии на которую появляются выбрать страну регион и город.
Николай # 2 июня 2011 в 22:51 0
Вы просто молодец. Прекрасное дополнение
еGо # 7 сентября 2011 в 03:49 0
У меня вообще в форме регистрации не появились поля...В чем проблема может быть?
еGо # 7 сентября 2011 в 03:55 0
Я ступил...Подумал что выбор города должен быть в форме регистрации.smileХотя было бы не плохо!
еGо # 7 сентября 2011 в 04:19 0
На 1.8 полет нормальный! Спасибо Madmax !
Madmax # 7 сентября 2011 в 11:42 0
Все спасибо к Maxisoft'у - его идея и реализация ...
maxisoft # 7 сентября 2011 в 12:02 0
А я тут причем блог твои и решение твое!
еGо # 8 сентября 2011 в 21:49 0
А реально выбор города прикрутить к форме регистрации? Думаю не плохо было бы!
DagStudent # 9 сентября 2011 в 15:52 0
Алфей # 9 сентября 2011 в 02:08 0
Было бы замечательно!!!!
nrg # 9 сентября 2011 в 12:50 0
Всё работает, но с одним НО, при ПОВТОРНОМ редактировании профиля, там высвечивается "Выберите страну" (т.е. нужно повторно всё выбрать), если это не сделать, то город из профиля исчезнет!!!
Miledy # 26 февраля 2012 в 23:19 0
Все отлично работает. Спасибо.
rulestyle # 6 апреля 2012 в 12:25 0
для того чтобы работал список на страницы редактирования профиля надо добавить в самый верх

Код PHP:
{add_js file='components/users/js/city.js'}
{literal}
	<style>
            .region, .city {display:none}
            strong {display:block;width:100px}
            div {margin-bottom:3px}
	</style>
{/literal}
rulestyle # 6 апреля 2012 в 12:25 0
в файл com_users_edit_profile.tpl
AlekS # 28 апреля 2012 в 13:29 0
А как в версии 1.9 это можно прикрутить? Файл com_users_edit_profile.tpl полностью изменился в новой версии движка и не могу найти куда вставлять этот код:
Код PHP:
<b>Текущий: {$usr.city|escape:'html'}</b><br/>Изменить на:
  <div>
      <strong>Страна:</strong>
      <select name="country" id="country" type=hidden>
      <option value="" selected>Выберите страну</option>
      </select>
  </div>
  <div class="region">
      <strong>Регион:</strong>
      <select name="region" id="region">
      <option value="">Выберите регион</option>
      </select>
  </div>
  <div class="city">
      <strong>Город:</strong>
      <select name="city" id="city">
      <option value="{$usr.city|escape:'html'}">Выберите город</option>
      </select>
  </div>
AlekS # 28 апреля 2012 в 14:45 0
Извиняюсь, ступил, я посмотрел в уже измененный мною файл... В новой версии все тоже самое.
Grisha Orlov # Сегодня в 16:40 +3
Доработал этот хак для 1.9 версии.
Скрин:

Но только выложить хочу в свой блок, а кармы не хватает для создания.