• Уважаемый Гость! Если вы зарегистрировались на нашем форуме, значит вам нужна помощь! Мы всегда рады вам помочь, еще ни один пользователь не получил отказа! Но мы так же нуждаемся в Вашей поддержке. Проект полностью бесплатный, мы не имеем права требовать от вас денег, нам это и не нужно! Но от любой финансовой поддержки не откажемся. Проект развивается, но иногда очень тяжело его поддерживать, особенно в финансовом отношении. Если у вас есть возможность поддержать нас финансово, мы будем вам очень благодарны! С уважением, команда Оскласс Россия!
  • Изменение в правилах форума! В связи с огромным количеством вопросов поступающих в адрес технической поддержки мы решили изменить правила форума! Просим всех пользователей обратить внимание на данные изменения и четко их соблюдать!
  • Ребята, нуждаемся в программистах! Если хотите зарабатывать и есть время, пишите администраторам сайта. Есть база и инструменты, нужен опыт и знания =)
  • Уважаемые пользователи! На форуме появились разделы по работе с системой Yclas. Yclas - это скрипт доски объявлений. Нужны разработчики.

Как сделать выпадающий список регионов и городов?

administrator

Блудный сын.
Команда форума
Я подниму из старого форума обсуждение, есть решение!
 

administrator

Блудный сын.
Команда форума
Уже давно на сайте обсуждалось, выложили это решение! Повторюсь еще раз!
В документации к оскласс есть как сделать выпадающие поля: http://doc.osclass.org/Changing_between_drop-down_and_autocomplete_for_locations
Редактируем три файла: item-edit.php и item-post.php.
Во-первых необходимо изменить вызов JS скриптов, меняем во всех трех файлах:
Код:
<?php ItemForm::location_javascript_new(); ?>
на
<?php ItemForm::location_javascript(); ?>
в item-edit.php
<?php ItemForm::region_text() ; ?>
...
<?php ItemForm::city_text() ; ?>
на
<?php ItemForm::region_select() ; ?>
...
<?php ItemForm::city_select() ; ?>
в item-post.php
<?php ItemForm::region_text(osc_user()) ; ?>
...
<?php ItemForm::city_text(osc_user()) ; ?>
на
<?php ItemForm::region_select(osc_get_regions(osc_user_country()), osc_user()) ; ?>
...
<?php ItemForm::city_select(osc_get_cities(osc_user_region()), osc_user()) ; ?>

Взял из англоязычной документации!
Возможно где-то ошибся, прошу прощения!
 

administrator

Блудный сын.
Команда форума
Ребята, могут быть проблемы в данном решении, если нет города в списке, то человек может ввести неверную информацию!
Если нужно сделать страну по умолчанию, то есть на форуме ответ.
 

denis

Активный пользователь
Уже давно на сайте обсуждалось, выложили это решение! Повторюсь еще раз!
В документации к оскласс есть как сделать выпадающие поля: http://doc.osclass.org/Changing_between_drop-down_and_autocomplete_for_locations
Редактируем три файла: item-edit.php и item-post.php.
Во-первых необходимо изменить вызов JS скриптов, меняем во всех трех файлах:
Код:
<?php ItemForm::location_javascript_new(); ?>
на
<?php ItemForm::location_javascript(); ?>
в item-edit.php
<?php ItemForm::region_text() ; ?>
...
<?php ItemForm::city_text() ; ?>
на
<?php ItemForm::region_select() ; ?>
...
<?php ItemForm::city_select() ; ?>
в item-post.php
<?php ItemForm::region_text(osc_user()) ; ?>
...
<?php ItemForm::city_text(osc_user()) ; ?>
на
<?php ItemForm::region_select(osc_get_regions(osc_user_country()), osc_user()) ; ?>
...
<?php ItemForm::city_select(osc_get_cities(osc_user_region()), osc_user()) ; ?>

Взял из англоязычной документации!
Возможно где-то ошибся, прошу прощения!


На англоязычном сайте говорится, что нужно так же изменить oc-admin/themes/modern/items/frm.php
но я не нашел в своем файле тех строчек, что нужно заменить..
хотя первых двух файлов вполне достаточно для того, чтобы изменения появились на клиентской части...
а в админке и сам нормально сделаю..
Вопрос только в том, что если города не будет в списке( а такое вполне возможно), то теперь еще нужно поле для этого..обычно это делается везде под названием "Моего города нет в списке" или "Другой город"
 

administrator

Блудный сын.
Команда форума
Ничего не надо добавлять, все и так работает! Что вы напишете там?
 

Александр 13744

Пользователь
приветствую. На 3.1.2 не работает в админке и в профиле. При подаче объявления отлично фунциклирует... Что я мог сделать не так??? Сделал все в точности как написано на оф сайте.
 

Dis

Гость
oc-admin/themes/modern/items/frm.php
есть стоки например:
Код:
<h3 class="label">Location</h3>
                            <?php ItemForm::country_select(); ?>
                            <div class="input-has-placeholder input-separate-top">
                                <label><?php _e('Region'); ?></label>
                                <?php ItemForm::region_text(); ?>
                            </div>
                            <div class="input-has-placeholder input-separate-top">
                                <label><?php _e('City'); ?></label>
                                <?php ItemForm::city_text(); ?>
                            </div>
                            <div class="input-has-placeholder input-separate-top">
                                <label><?php _e('City area'); ?></label>
                                <?php ItemForm::city_area_text(); ?>
                            </div>
                            <div class="input-has-placeholder input-separate-top">
                                <label><?php _e('Address'); ?></label>
                                <?php ItemForm::address_text(); ?>
Можно же поменять поля на типа select.
Написать вместо <?php ItemForm::city_text(); ?>-например<?php ItemForm::city_select(); ?>...и.т.д
Вопрос в другом..лезть то надо в ядро уже а не в тему..и что будет со всеми этими изменениями, после обновления движка ?
По новой всё лопатить ?
Чем уж так не устраивает стандартный вариант в админке..не знаю...две буквы ввести, чтоб нужный город доска предложила.
 

Александр 13744

Пользователь
и правда. Не нужно оно там.
А вот какой вопрос возник - в сайтбар на главной нужно вывести города вместо регионов. Есть готовое решение для этого?
 

Dis

Гость
и правда. Не нужно оно там.
А вот какой вопрос возник - в сайтбар на главной нужно вывести города вместо регионов. Есть готовое решение для этого?
Ну вот как то так:
Код:
                <div id="sidebar">
                    <div class="navigation">
                        <?php if(osc_count_list_cities() > 0 ) { ?>
                        <div class="box location">
                            <h3><strong><?php _e("Location", 'modern') ; ?></strong></h3>
                            <ul>
                            <?php while(osc_has_list_cities() ) { ?>
                                <li><a href="<?php echo osc_search_url( array( 'sCity' => osc_list_city_name() ) ) ; ?>"><?php echo osc_list_city_name() ; ?></a> <em>(<?php echo osc_list_city_items() ; ?>)</em></li>
                            <?php } ?>
                            </ul>
                        </div>
                        <?php } ?>
                    </div>
                </div>
 

Warrior

Пользователь
ребята выручайте...
как отключить при подаче обьявления выбор страны
и как сделать так чтоб после отключения выбора страны работал выбор регионов и городов..
а то если отключаю выбор страны то выбор всего остального так же выходит в отключке :(
уже и сам разобрался...
как то тут никого нету чтоль.. .
 

Saska19

Пользователь
Osclass 3.1.2
Тема: RealEstate

Все сделал как написал админ.
Вроде работает, но.
В адмнке устанавливаю две страны:
Россия-тест1(регион)-тест2(город)
Украина-тест3-тест4

Теперь в выпадающем: страна - две страны
регион- только регион привязанный к России (Украины нет)
город - только город привязанный к России (Украины нет)

Как сделать привязку к стране регионов и городов относящихся к определенной стране?
 
Верх