Основной курс по Joomla
0 Пользователей и 1 Гость просматривают эту тему.
  • 12 Ответов
  • 1006 Просмотров
*

akhalex38

  • Осваиваюсь на форуме
  • ***
  • 175
  • 1
Всем привет!)
Преамбула:)
Спойлер
[свернуть]

Что нужно:
Создать зависимые поля sellect. Значения у них хранятся в бд. Конкретно: выбрал регион - в следующем селлекте города региона.

Структура бд
Спойлер
[свернуть]

Как я это делаю используя стандартные возможности джум для разработчиков:
Код
<field name="test"
type="sql"
class="inputbox"
query="SELECT id_region, region FROM tbl_region"
key_field="id_region"
value_field="region"

label="Регион">

<option value="0">Выбрать</option>
</field>
<field name="test1"
type="sql"
class="inputbox"
query="SELECT id_city, city FROM tbl_city"
key_field="id_city"
value_field="city"

label="Город">

<option value="0">Выбрать</option>
</field>

Как сделать вообще, чтобы второе поле зависело от первого?
Понятно, что всё вроде бы просто. Сначала нужно выполнить первое поле. А потом во втором считать значение выбранного селлекта и дописать условие в запрос SQL
Код
SELECT id_city, city FROM tbl_city where id_region=[переменная]

Кто что хорошего подскажет? Спасибо!
*

zomby6888

  • Живу я здесь
  • ******
  • 1484
  • 167
Без js у вас ничего не выйдет. Хотите оптимизировать по максимуму? Пишите на чистом php/js, скрипт, запросы в базу, без XML.
« Последнее редактирование: 11.05.2015, 03:25:29 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

akhalex38

  • Осваиваюсь на форуме
  • ***
  • 175
  • 1
Без js у вас ничего не выйдет. Хотите оптимизировать по максимуму? Пишите на чистом php/js, скрипт, запросы в базу, без XML.
НАДО с XML, понятно что JS нужен, но... Что там и как?))
*

zomby6888

  • Живу я здесь
  • ******
  • 1484
  • 167
примерно так
« Последнее редактирование: 11.05.2015, 15:58:30 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

akhalex38

  • Осваиваюсь на форуме
  • ***
  • 175
  • 1
примерно так
Большое спасибо!) Если можно, вопросик:
А как вот это
Код
var list = { 
    1 : ['банан1', 'банан2', 'банан3'],
    2 : ['кокос1', 'кокос2', 'кокос3'],
    3 : ['киви1', 'киви2', 'киви3']
}
Из бд можно получить?)
*

zomby6888

  • Живу я здесь
  • ******
  • 1484
  • 167
AJAX запросом, в ответ отдаете json список опций или сразу HTML готовый. Можно без AJAX, формируте список на php передете скрипту как json строку.
интернет-блог: http://websiteprog.ru
*

akhalex38

  • Осваиваюсь на форуме
  • ***
  • 175
  • 1
AJAX запросом, в ответ отдаете json список опций или сразу HTML готовый
Прости за наглость, понимаю что пошлешь сейчас, но пробую, т.к. ну прям вот очень надо!) Если это не очень долго, мог бы какой нибудь пример накидать? В ответ даю клятвенное обещание выучить JS)) Cпасибо, друг)
*

zomby6888

  • Живу я здесь
  • ******
  • 1484
  • 167
В бд должна быть привязка поля одного списка к другому (городов к региону). Нету у меня времени чтобы вам все подробно расписывать, может еще кто нибудь напишет, тут много энтузиастов, а клятва ваша мне ни к чему так как это в ваших интересах, не моих.
интернет-блог: http://websiteprog.ru
*

akhalex38

  • Осваиваюсь на форуме
  • ***
  • 175
  • 1
В бд должна быть привязка поля одного списка к другому (городов к региону). Нету у меня времени чтобы вам все подробно расписывать, может еще кто нибудь напишет, тут много энтузиастов, а клятва ваша мне ни к чему так как это в ваших интересах, не моих.
Снова привет!) Секунду времени можно пжл?
Можешь объяснить синтаксис, т.е. что за условие выполняется?
Понимаю вроде все кроме первой части условия в функции. Спасибо!
Код
function selectRegion(){

        var id_country = $('select[name="country"]').val();
        if(!id_country){
                $('select[name="jform[profile][selectDataRegion]"]').html('');
                $('select[name="jform[profile][selectDataRegion]"]').html('');

        }else{
                $.ajax({
                        type: "POST",
                        url: "/action/ajax.base.php",
                        data: { action: 'showRegionForInsert', id_country: id_country },
                        cache: false,
                        success: function(responce){ $('select[name="jform[profile][selectDataRegion]"]').html(responce); }
                });
        };
};
*

akhalex38

  • Осваиваюсь на форуме
  • ***
  • 175
  • 1
Всем спасибо!) Особенно главному помощнику zomby6888
Сделал что хотел)) Как до конца допилю наверное сохраню эту Joomla в таком виде) Думаю многим приятно будет если легко и просто организованы страны-регионы-города на сайте при регистрации)
*

akhalex38

  • Осваиваюсь на форуме
  • ***
  • 175
  • 1
Re: Зависимые поля в форме регистрации
« Ответ #10 : 16.08.2015, 16:15:01 »
Так и не допилил)))
*

shurakana

  • Завсегдатай
  • *****
  • 793
  • 43
Re: Зависимые поля в форме регистрации
« Ответ #11 : 16.08.2015, 16:28:55 »
НАДО с XML...

Заказчик — "Необходимо сделать зависимые поля в этой форме, обязательно с XML..."..)))
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

beliyadm

  • Профи
  • ********
  • 8359
  • 1527
  • Севастополь == Россия
Re: Зависимые поля в форме регистрации
« Ответ #12 : 16.08.2015, 22:51:04 »
не выйдет с XML, XML хранится в отдельном файле (к примеру админском для com_content для занесения данных в админку из выпадающего списка в материале) - на фронте вы его не получите.
Нужно сразу делать отдельную таблицу в БД, в XML админки работать с полем типа sql и тогда у вас из любого места будет доступ к этим данным.
Чистый XML здесь как козлу припарка, много геморроя, никакого результата
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb