База стран, регионов и городов
она неполная но вроде самое главное есть, взята отсюда
0) сделайте дамп вашей БД
1) импортируйте в БД дамп из dump.sql, там содержатся таблицы country, region и city
2) залейте в корень друпала файл import.php
3) создайте новый словарь таксономии, и пропишите его id в import.php
4) запустите import.php
5) удалите таблицы country, region и city
на выходе у вас получится 3х уровневый словарь таксономии, к которому можно подключить hierarchical select и использовать в своих целях
будет что-то вроде этого
UPD1
добавил базу марок и моделей авто, взято с яндекса
проделывать с ней тоже самое
UPD2
добавил скрипт импорта для д5
Вложение | Размер |
---|---|
base.zip | 144.41 КБ |
Комментарии
вот спасибо! еще бы дал кто базу по автомобилям: марка-->модель
добавил
Спасибо, дружище!
Respect тебе! КЛАДР идет в лес.
это что?
Ого-го! Большое спасибо!
UPD Вы используете hierarchical_select c шестым Друпалом? Возможно я чего-то не понимаю, но мне казалось, что для шестёрки его нет...
dev версия меня вполне устраивает
Хм... Спасибо. Будем посмотреть.
спасибо, полезно
осталось еще базу учебных учреждений сделать
Да ниспошлёт всем помощь свою http://classifiers.ru
камент читали?
написано ВСЕМ, кому могут пригодится подобные классификаторы, а не только хамящим индивидуумам.
Запускаю import_avto.php - выдает ошибку:
Fatal error: Call to undefined function db_last_insert_id() in ..\..\import_avto.php on line 12
скрипт импорта для 6ки
О, сори - не заметил. Страницу эту в гугле нашел ))
PS
А для пятерки не посоветуете решение?
сегодня выложу
Спасибо. Жду))
Не сразу у меня "заработало", сначала заимпортировалось в кривой кодировке. В начало скрипта dump.sql надо бы прописать «set names utf8», чтобы у mysql не возникало разночтений.
А вообще — спасибо!
Про этот совет на забываем. Спасибо тов.620.
Дошли сегодня руки до базы географических названий. Проблема там с переводами — многие не соответствуют правилам и справочникам, а кое-где переводы вообще отсутствуют, как класс (
penexe
А второй jQuery Update для шестёрки Вы где достали, если не секрет? А то он требуется дл hierarchical_select, как я погляжу.
он нетребуется
Ух ты... Спасибо за то, что открыли мне глаза!
А как Вы сделали этот скрипт?
Хотелось бы попробовать импортировать базу geonames или кладр.
P.S. А как можно сделать вышеперечисленные операции не используя пхпма или не обращаясь напрямую к базе, как-нибудь через друпал?
Следить...
руками как ни странно =), скачал базу > перегнал в нужный формат > залил > написал > запустил
пробуйте
никак
Это Вы каждую строку руками переписывали? Не верю. У Вас шаблона не осталось какого-нибудь?
по ссылке в топике написано как структура выглядит изначально, я только перегнал её в таксономию
Ага. Это самое важное. Geonames тоже готовые базы - только б в таксономию многоуровневую перегнать. А как Вы это сделали?
в архиве же лежат скрипты
Ничего не понимаю
Пытался ставить на пятерку, все проделано как сказано, использовал import_5x.php. Вроде экспортируется, города в словаре появляются. Но при попытке редактировать словарь - вылетает масса ошибок:
Warning: MySQL server has gone away query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (1, 'php', 'MySQL server has gone away\nquery: UPDATE cache_views SET data = 'a:4:{s:6:\\"tables\\";a:41:{s:4:\\"book\\";a:5:{s:4:\\"name\\";s:4:\\"book\\";s:8:\\"provider\\";s:8:\\"internal\\";s:4:\\"join\\";a:2:{s:4:\\"left\\";a:2:{s:5:\\"table\\";s:4:\\"node\\";s:5:\\"field\\";s:3:\\"vid\\";}s:5:\\"right\\";a:1:{s:5:\\"field\\";s:3:\\"vid\\";}}s:7:\\"filters\\";a:1:{s:6:\\"parent\\";a:4:{s:4:\\& in Z:\home\localhost\www\reklamir5.9\includes\database.mysql.inc on line 174
Warning: MySQL server has gone away query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (1, 'php', 'MySQL server has gone away\nquery: UNLOCK TABLES в файле Z:\\home\\localhost\\www\\reklamir5.9\\includes\\database.mysql.inc в строке 174.', 2, '', 'http://localhost/reklamir5.9/?q=admin/content/taxonomy', 'http://localhost/reklamir5.9/?q=admin/content/taxonomy/edit/vocabulary/1', '127.0.0.1', 1235848019) in Z:\home\localhost\www\reklamir5.9\includes\database.mysql.inc on line 174
Ну и дальше в том-же духе. Поставил на шестерку. Встало без вопросов. Правда не понял одного - выбрал я в словаре категорию Блоги.
Но там появляется всего одно поле, в котором я могу выбрать хоть страну, хоть регион, хоть город...
А в самих натройках словаря (при включенном hierarchical_select) все выбирается нормально... Что не так?
И, главное, что не так с установкой на пятерку? Я на ней работаю
>> А в самих натройках словаря (при включенном hierarchical_select) все выбирается нормально... Что не так?
У вас и для словаря включён hierarchical_select?
Когда включается этот модуль в таксономию он сам встраивается. Его можно активировать, можно не активировать, пробовал и так и эдак, даже отключал.
В пятерке результат один - масса ошибок и дамп бызы данных
В шестерке, ошибок нет, но вот множественный выбор не выходит. В смысле получается один уровень для всех слов словаря, выбирай хоть страну, хоть город...
Ну тут я, вероятно, что-то не доделал, особо разобраться не пробовал, поскольку на шестерке запустил только чтобы посмотреть будут ли там косяки. Нет, все нормально
А я вручную российские регионы и города с википедии забивал
http://drupal.ru/node/5146
На английском языке база городов с привязкой к странам в CSV файле есть здесь
http://geolite.maxmind.com/download/geoip/database/GeoLiteCity_CSV/
Я в итоге вручную составляю трёхуровневый словарь таксономии для городов Великобритании с графствами/землями в качестве промежуточного уровня.
Без директивы
set names utf8
добавляет белиберду.
С добавлением этой директивы в dump.sql выводит ошибку
ERROR 1064 (42000) at line 15: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE `city` (
`city_id` int(11) unsigned NOT NULL auto_increme' at line 2
Помогла опция --default-character-set=utf8
при импорте dump.sql
а в hierarchical select есть так что бы вывести поле что бы на ходу досоздавать те разделы которых нет?
есть
А что значит запустить import.php? и что должно появится после этого?
Я пробывал
php -f import.php
и открывать через url этот файл. Видно что что-то происходит, но результата не вижу :(.
symsym, в соответствующих папках есть по 2 скрипта импорта, под 5х и 6х
нужный надо запустить, через url
запустил, а где потом смотреть что данные импортировались и как их использовать? Никак не пойму как эти города прикрутить к Hierarhical menu. Мне нужно сделать выбор города в профиле пользователя при регистрации.
создайте словарь таксономии для начала, а потом еще раз внимательно прочтите топик, все написано
Ох намучился я. Заработало только после того как я сначала добавил вручную в словарь несколько значений, а только потом запустил import.php.
Ох намучился я. Заработало только после того как я сначала добавил вручную в словарь несколько значений, а только потом запустил import.php.
Symsym, Расскажи об этом как ты это сделал?
При попытке все выполнить, оно вроде работает, но таксономию при этом заполняет только до букв Р/С. То есть в раене "России" - "США" это все останавливается.
ShadOR, я тут непричем
А если импортировать ВСЮ базу geonames,не треснет ли дру?
Не думаю, что треснет.
Но если есть предубеждение, то можно не импортировать в термы, а использовать как отдельные таблицы, только надо заиметь виджеты, которые бы с ними могли работать.
Но вот имеет ли смысл использовать geonames?
Я смотрел их базу, там всё через одно место, иерархия для большинства стран (смотрел Россия, Великобритания) не правильная, перепутаны районы городов и области (для России). Вообщем не советую эту базу...
Имеется ли альтернатива?
Я использую эту. Из первого поста.
При запуске import_6x.php на локальном компе (денвер 3, Друпал 6.11) выдавало постоянно ошибку о дублировании поля tid в таблице term_data.
Когда начал разбираться, то увидел одну небольшую ошибку в скрипте - в поле tid таблицы term_data он пытается записать значение 'null', хотя это поле является автоинкрементным, т.е. заполняется само при добавлении записей.
Подправил скрипт и все прошло удачно.
Исправленный скрипт в прикреплении.
Все просто шикарно, огромное спасибо!
Остается такой вопросик.
Как задать страну по-умолчанию? Можно ли это?
И выборка выводится в поле под названием "Словари", как поменять это название?
Огромное спасибо, очень помогло.
НО, справочник вроде загрузился, а потом на 35 стр выдал ошибку: Fatal error: Allowed memory size of 134217728 bytes exhausted at /usr/ports/lang/php5/work/php-5.2.10/Zend/zend_hash.c:499 (tried to allocate 43 bytes).
Решили пришить только Россию. Если нажать на список терминов выходит все та же ошибка. Понимаю что не хватает памяти но мой сисадмин говорит что это уж слишком и больше не даст, и что здесь что то не правильно, что не может так много памяти потреблять, Кто-нибудь помогите!!!!!!!!! СРОЧНО!!!! Что еще может быть? Как исправить?
Не могу не поблагодарить: спасибо. Пригодилось.
Полезно, отмечусь
База почтовых индексов РФ (отделений почтовой связи) по состоянию на 06.08.2009. Кодировка UTF-8.
Актуальная версия всегда тут: http://info.russianpost.ru/database/ops.html
Огромнейшее спасибо за проделанную работу!!!
В закладки однозначно!
Справочники классные, но для меня многовато. Я для себя сделал сам по странам СНГ, кроме Грузии. Забивал данные из википедии, города с населением не меньше 10 тысяч жителей. Если кому интересно, могу выложить.
А как вывести в профиль пользователя выбор страны и города из списка с использованием этой базы (таксономии) ?
обычно используют для профиля content_profile (nodeprofile для 5.x) а там уже проще простого
Вывел, правда остались вопросы
я оставил в дампе только Россию, все сделал как написано, словарь создался и вроде нормально работает, но возникла такая проблема - на странице "список терминов" выпадают все термины и пустой пэйджер, по переходу на вторую страницу пэйджер пропадает.
В чем может быть проблема ?
UPD:
Проблема была в том, что был 1 корневой термин
При импортировании вылазиет ошибка:
Ответ MySQL:
#1146 - Table 'phpmyadmin.pma_bookmark' doesn't exist
Мне то понятно что по английски написано что эта таблица не используется, но непонятно что делать:))
Ещё извеняюсь за глупые вопросы, но где этот ID словаря посмотреть и как собственно вызывается этот import.php?
По-английски написано, что эта таблица не существует.
Хорошо а подошёл бы этот модуль, для того чтобы в location добавить регионы россии?
Будьте внимательны с этой базой - в ней дубли, и просто вымышленные страны http://drupal.ru/node/39865
Более точная и полная база городов\населенных пунктов для России есть на http://gis-lab.info/qa/vmap0-settl-rus.html
вопрос филосовского характера:
применил я словарь человека к полю - местонахождение сотрудника - все клево, теперь думаю как быть чтобы у человека также выбриралось место рождения....итого получается
место нахождения - словарь таксономии
место рождения - .... ваши предложения
http://drupal.org/project/content_taxonomy
Возник вопрос.
А почему не сделать самозаполняемый список терминов таксокомии?
Например, пользователь в процессе регистрации вводит свой город. Если кто-то уже есть и регистрировался из того же города - он ему выскочет и он выберет из списка, а если он первый кто регистрируется, то город удет добавлен в словарь таксокомии.
Просто возникла такая мысль.
Давайте подумаем над плюсами и минусами такой схемы...
Автозаполнение только на бумаге выглядит так хорошо. В реальности пользователи, во-первых, иногда вводят теги с ошибками, иногда просто «прикалываются» и вводят всякую чушь или там ещё чего.
У меня, например, есть сайт liverbird.ru, на котором пользователям дана возможность самим вводить город и страну, откуда они. Причём в комментарии к полям высказана убедительная просьба не указывать всякую фигню, потому что благодаря нормальным ответам в этом поле пользователи смогут находить других болельщиков, которые живут в том же городе (это сайт болельщиков «Ливерпуля»). Там же сказано, чтобы писали по-русски. И что же? Чего там только нет. Ладно ещё РФ и Россия, но есть и Russia, и Rossia, и просто всякий бред, начиная от реально существующих государств, которые пользователям захотелось указать (Барбадос) до всякой хрени вроде «Хохляндия», «не скажу» и проч. и проч. С городами то же самое на сайте. В общем, эта идея не работает, как можете видеть.
Я даже больше скажу. У меня возникают проблемы с тегами, введёнными авторами новостей на том же сайте, потому что они не всегда проверяют, есть ли уже тег для этого термина, но несколько в другом написании (Рафаэль Бенитес, а не предложенный ими Рафа Бенитес), а потому постоянно приходится отслеживать, не появились ли снова неправильные теги. А ведь это делают люди, которые искренне хотят, чтобы всё было сделано лучшим образом. И их не тысяча, как зарегистрированных пользователей, а всего десять-пятнадцать человек.
Перевел всю базу в доступный для импорта словарь терминов с иерархией. Импорт можно сделать с помощью модуля[module=taxonomy_xml], но тот кто эту базу видимо застрелился ближе к концу. Дальше первых нескольких штатов США все похерено...
как сделать, чтобы вбил "город" в материала, и у в после таксономии авто-добавились бы Область, страна.
Например чтобы не идти путем Страна - область - город, а вбил город и остальные более верхнии цепочки добавились?
Чисто сами по себе?
думаю да, если они внутри иерархии. Например внес "москва", а получилось "Россия, Москва"
А если город есть в разных странах или областях?
Помню как-то IP из г. Кривой Рог не определился.
К вопросу о том, что база большая, есть левые страны, а многим нужно только СНГ. Немного подправил загрузку, чтобы загружались только страны СНГ.
вопрос: если я выбираю Страну - Область - Город - и потом хочу другое что-то выбрать, то у меня не обнулятеся HS
Что вы имеете в виду?
К примеру выбираю: Россия, и следующим щагом случайно ошибаюсь и выбираю не тот регион, потом пытаюсь заного выбрать Россия - и бац - выборка не пашет, только если перегрузить/обновить(F5) страницу
У HS есть серьёзная проблема с кэшированием, которую пока не могут решить. Может быть, это имеет отношение и к вашему вопросу.
Допустим имеем Три дочерних пункта, если в HS вы выбрали все три, а потом передумали и заного начинаете выбирать, то у вас HS работает?
Это из-за которой за сутки набегает по гигу кеша?
О таком не слышал. Там проблема с тем, что кеш сбрасывается в процессе работы с HS, из-за чего выборка не сохраняется. Это всегда происходит, например, при добавлении нового термина через HS — ужасно раздражает.
Вот соответствующий тред: http://drupal.org/node/697172
Я про http://drupal.org/node/920588
Очень неприятная грабля, видел на трёх сайтах на хостинге, за сутки до гига набегает
Действительно неприятно. Но, видимо, пофиксена бага — Вим опубликовал патч ещё в ноябре (комментарий #19 в треде).
Три дочерних на одном уровне или на разных?
Выбираю страну, область, город ..., потом вдруг пытаюсь выбрать другую страну, но список дочерний (область, город) уже перестает работать
У меня работает такой вариант, но проблема всё равно может быть связана с кешем.
спасибо
то есть osm это и есть xml ? (извиняюсь за тупой вопрос...)
Ну ты смотришь на страницу там или нет? Написано же "OSM XML"
Понял... только ожидал что расширение будет ".xml"...
Но т.к. модуля Taxonomy import/export via XML для Drupal 7 ещё нет... и альтернативы я не нашёл... Поэтому нашёл внятную базу данных (прикрепил её к посту выше...) и собираюсь делать всё вручную чуть позже...
Есть ли альтернатива модуля hierarchical select для Drupal 7 ? Или какой-нибудь альтернативный способ реализации его возможностей..?
Сейчас создаю 3 словаря - (страны, регионы, города)... и очень нужно реализовать такое... чтоб при выборе региона в одном списке, в соседнем списке находились бы города только этого выбранного региона, а не всех подряд...
Интересует пока только Россия... Поэтому нашёл отдельную базу городов России с 1250 городами (смотрите прикреплённый файл) и уже настроился на ручное добавление всех городов из этой базы в словари таксономии (страшно и подумать как это долго и муторно будет!..) Хотя... Может как-нибудь автоматом можно из этой базы термины создать? Подскажите пожалуйста! Заранее спасибо за ответы!
Сер, а чего вы в 7 уперлись? Не рановато ли.
1250 городов, ниачом.
Выложу под 200 000 населённых пунктов
Боюсь что переход готового D6-сайта на D7 в будущем будет невозможен... Мало ли... Вот и волнуюсь... Может зря? Подскажите пожалуйста! Просто я пока, как говориться, нуб в этом вопросе...
Жду с нетерпением!
Пока заказывайте сервер
еси кому нуно выбрал из базы только Россию
Зря вы так думаете, учитывая количество сайтов на д6 уж импорт на 7 сделают минимум в 3-5 вариантах
Раза 3-4 уже встречал на разных сайтах (на ucoz-е...) вот такой интересный способ выбора страны-региона-города moy.su , ruworms (при регистрации выберите "другой город", после чего должно появится то самое... окно...). Интересно узнать есть ли такой плагин под drupal... Может быть кто-то в курсе?
А базу все страны с полным наименованием и их сокращенным названием в виде синонима можно сделать?
Я так понимаю, этот вариант может мне подойти. Мне надо при регистрации и потом в профиле (с учетом измененного модуля) у пользователя выбирать страну по полному наименованию, а в таблице юзверей выводить только короткое, типа RUS.
не хочу создавать др топик
может кто то уже переделал таблицу городов,
нужно к городу например Краснодар дописать чтоб было так: Краснодар, Краснодарский край
Как подключить hierarchical select к уже созданному словарю таксономии?
А если серьёзно.
Модуль hierarchical select предназначен как раз для того, чтобы подключить hierarchical select к уже созданному словарю таксономии
Да это понятно, тольк после подключения в предпросмотре модуля всё есть, а на странице сайт ничего нет.
Подправил в php-файле импорта в запросах MySql названия таблиц в надежде провернуть все это дело под семеркой. А запустить php-файл через браузер не получается... Пишет не найдена страница... Как быть?
Ребят, кто шарит получше - переделайте плиз под семерочку данный архивчик, очень надо. Там ведь две минутки работы, если я не ошибаюсь.
Самостоятельно занёс в словарь все города и регионы России (страны - области - города/сёла, всего 4044 термина). Помог Taxonomy Manager. Пропатчил hierarchical select для drupal 7. В итоге наверное из за большого количества терминов при выборе родительского элемента "Россия" выскакивает ошибка - "с сервера получен неверный ответ", а список терминов этого словаря вообще невозможно открыть - около минуты что-то грузится... (для php выделил 1400 MB памяти) и в итоге - "Fatal error: Allowed memory size of 1468006400 bytes exhausted (tried to allocate 24 bytes) in C:\xampp\htdocs\site\includes\form.inc on line 3736". В Taxonomy manager все термины можно просматривать без проблем, а вот по стандартному адресу эта ошибка... Не может же быть чтоб 1400 MB не хватало...
Создал ещё один словарь всего с тремя терминами - "1", "2", "3", вложенными друг в друга - с ними всё работает отлично и быстро... А вот словарь с областями и городами/сёлами отказывается работать (а я на его создание потратил часов 12 в общей сложности (два дня сидел!))...
Позже начала выскакивать ошибка - "Fatal error: Call to undefined function db_rewrite_sql() in C:\xampp\htdocs\site\sites\all\modules\hierarchical_select\modules\hs_taxonomy.module on line 730", тоже только когда тот словарь включаю...
В чём может быть проблема? Заранее огромное спасибо!
Вот php скрипт для импорта данных для Drupal 7. Кому нужно пользуйтесь.
Попробовала. Скрип сообщил что все импортировалось. Но словарь остался пустым.
полная и обновленная по настоящий момент база авто:
<?php
$file = file_get_contents('http://scripts.kbb.com/kbb/ymmData.axd?VehicleClass=UsedCar');
$file = explode("\n",$file); $patternMake = '/ymUsed_\[\d{4}\]\s*=\s*\'([^\']+)\'/';
$patternModel = '/ymmUsed_\["(\d+)~(\d+)"\]\s*=\s*"([^"]+)"/';
foreach(
$file as $row) {if(preg_match($patternMake,$row,$matched)){
$tmpMakes = explode(',',$matched[1]);
foreach($tmpMakes as $str) {
list($id,$name) = explode("|",$str);
$arrMakes[$id] = $name;
}
}
unset($str);
if(
preg_match($patternModel,$row,$matched)){$year = $matched[1];
$make_id = $matched[2];
$models = $matched[3];
$tmpModels = explode(',',$models);
foreach($tmpModels as $str) {
list($id,$model_name) = explode("|",$str);
$make_name = $arrMakes[$make_id];
$arrModels[$make_name][$model_name][$year] = $year;
}
}
} ksort($arrModels);
function
listArrayRecursive($array_name, $ident = 0){if (is_array($array_name)){
foreach ($array_name as $k => $v){
if (is_array($v)){
for ($i=0; $i < $ident ; $i++){ echo "-"; }
echo $k . "<br>";
listArrayRecursive($v, $ident + 1);
}else{
for ($i=0; $i < $ident ; $i++){ echo "-"; }
echo $v . "<br>";
}
}
}else{
echo "Variable = " . $array_name;
}
} listArrayRecursive($arrModels); ?>
единственное но, это то что марки модели идут по алфавиту, но годы выпуска в разнобой
Здесь http://www.drupal.ru/node/64769 сделали в таксономии базу всех регионов и городов. За основу взят Классификатор адресов России (КЛАДР)
ОГРОМНОЕ СПАСИБО ВСЕ РАБОТАЕТ для 6-ки. Но к выше перечисленному списку я бы еще добавил следующие указания !
0) сделайте дамп вашей БД
0.1) Сразу сохраните BACKUP вашей базы, чтобы потом не ругаться, нехорошими словами..))
1) импортируйте в БД дамп из dump.sql, там содержатся таблицы country, region и city
2) залейте в корень друпала файл import.php
3) создайте новый словарь таксономии, и пропишите его id в import.php
3.1) В настройках словаря - выберите Множественный выбор у меня иначе не сработало
3.2) Включите hierarchical select словаря
3.3) Создайте предварительные ТЕСТОВЫЕ термины в указанием родителей
111
-222
--333
4) запустите import.php и все без проблем, с мультисайтингом тоже отлично работает..
5) удалите таблицы country, region и city
Есть альтернатива. Проще и удобнее. Кому-то пригодится.
База городов с регионами: _ttp://autotravel.ru/towns.php?l=5
Модули, которые помогут импортировать массово в словарь: Quick Terms (6.х), Taxonomy CSV import/export (7.x).
Если нужны только города, то через регулярное выражение, в notepad++, возможно убрать лишнее: (.*.) - http://screencast.com/t/wCpVKt4VhWgp
а где найти БД базу школ и институтов?
респект автору!
Я решил задачу с географией след. образом:
1.Скачал базу городов, регионов и стран от GeoLite (на англ.)
2.Удалил всякий бред оттуда. Получилось около 250 000 городов (возможно бред остался)
3.Данные хранятся в трех таблицах.
4.Создал словарь таксономии
5.Создал поле location1 в профиле пользователя, привязал к словарю таксономии.
6. Теперь начались танцы с бубном:
- Полез разбираться с HS Api
-Сделал модуль, который создает поле при помощи HS. Привязал поле к моим таблицам (страна,регион,город).
-Создал модуль, который на форме редактирования профиля пользователя заменяет поле location1 на location2
-Во время сохранения формы делаю проверку: если выбранный город есть в терминах, просто присваиваю полю location1 индекс термина, если нет такого города, то сначала добавляю в таблицу терминов страну, регион и город, а уже потом сохраняю в location1 значение индекса термина.
Какие плюсы:
В словаре терминов содержится информация о тех городах, которые конкретно выбрали пользователи. Ведь нет никакого смысла хранить в терминах все 250 000 городов (сайт просто ложится)Подумайте, сколько городов из большой таблицы на самом деле будет задействовано на сайте: 10,20,100, 1000. Ну никак не 250000)))) Да я и не думаю, что изначально таксономию придумавали для хранения такого объема ненужных данных.
Когда использую views с фильтрами по городам, шанс нарваться на вариант с пустым результатом минимален.
Результат можно увидеть на сайте novvice.com в профиле пользователя.
Спасибо автору топика за скрипт импорта терминов в словарь. Очень помогло.
На весь этот геморой ушло 5 дней и ночей)))
Это описание моего подхода. Могу выложить свои разработки, но они немного кривенькие. (так сказать, под себя)
Делал на drupal6. Сейчас наверно буду также крутить и на 7.
а само решение не покажете?
Вот модуль и таблицы
В каждой таблице еще есть поле tid. Для норм.работы еще нужно все значения проставить в -1. В это поле потом будет записываться индекс термина после добавления его в словарь.
ВНИМАНИЕ! Не спешите устанавливать на сайт. Выкладываю просто для ознакомления с кодом. Лучше где-то на локальном сервере... у друга... лучше у врага...мало-ли что
Проверяйте имена полей на форме и в модуле.
Реально еще добавить столбик в БД?
чтобы при выборе городов, народ же выбирать будет, у тебя собиралась в базу IP того народа кто какие города выбирает.
В результате, Параллельно вы соберете IP по города и странам, и уже из этого можно будет поставить определение и выдачу следующим клиентам или этим же, сразу их регион!
Реально добавлять столько столбиков, сколько позволяет воображение. В обработчике формы добавить что и куда сохранить. При генерации формы указать что и откуда брать в качестве значения по умолчанию для селекта.
Не вижу особого смысла в этих IP. На практике, выбрать город не выглядит пугающим и трудоемким процессом. Для удобства в таблице Страны есть поле вес. Можно задать порядок вывода стран.
Кстати, кому интересно, прикрутил такую же шляпу и к Друпал7.
показывай!
Вот сам модуль. Таблицы те же. Требования те же: просто для ознакомления.
+
Ребята, почему в базе не все республики? а?
И как ими пользоваться? )
не верю
Кстати кому интересна тема Базы городов с координатами, вот моя подборочка:
http://www.drupal.ru/node/5146
http://www.drupal.ru/node/7588 - в самом низу база от xandeadx с mamba.ru (без координатов, но с разбивкой по регионам)
http://habrahabr.ru/post/19955/
http://habrahabr.ru/post/108541/
http://habrahabr.ru/post/110385/
http://www.razgonka.ru/info/143 - фарш
http://gis-lab.info/qa/vmap0-settl-rus.html
(достал из закладок, когда-то давно гуглил)
Может с тех пор появилось что-то более новое и более актуальное.
Кстати, меня не интересует интеграция с друпалом - первостепенная важность для меня это полнота данных, точность названий и координатов. Короче актуальность данных ну и кол-во городов. Запихать в друпал в том виде в каком мне надо (как сейчас кажется) - не проблема
В количество или в то что выложу? Это же КЛАДР, но ныне он уже неактуален, новая штука появилась
Сипекс?
Sypex?
Скорее http://fias.nalog.ru/Public/DownloadPage.aspx
А. У-у-у. Спасибо, в этом направлении даже не думал.
Я имел в виду вот это:
http://sypexgeo.net/
уберите кто-нибудь спамера.
на хабре бесплатно русскоязычная база под сто тысяч городов с координатами и IP-адресами, а вы за деньги продаете каких-то жалких полторы тысячи
Здравствуйте! можете подробней и простыми словами расписать процесс, ато мне как начинающему понятно только вобщем, зарание спасибо!
+1 было бы полезно знать, хоть направьте на путь верный:)
Может кому нибудь будет полезно, я импортировал базу городов с помощью модуля taxonomy_xml причем для 7 он в статусе dev, но тем не менее получилось, разве что пришлось увеличить максимальное время выполнения скрипта до 180 сек.
закоментировать проверку
<?php
//if (in_array($country->country_id, $countries_sng)) {
....
//}
?>
для добавления всех стран в словарь, или же раскоментировать масив стран снг (посмотреть по коментах в коде)
С 6 версией все предельно ясно на 7 не работает, а как использовать прочие доработки для drupal 7 не совсем понятно
На 7 тоже все работает, спасибо за материал и за комментарии
так и не понял как это все установить(
народ у кого есть файл импорта для друпал 7 скиньте плз admin@worthweb.ru