Тяжелый пример использования компонента RelatedSelects с однотипными пунктами.
09.11.2011 22:26
Возьмем для рассмотрения конкретную задачу:
требуется например составить связанные списки музыкального архива.
В первом списке у нас будет допустим "Год" попадания в архив, а во втором "Жанр" музыки.
В чем сложность?
Сложность заключается в том, что у нас на каждый "Год" приходится свой собственный "Жанр".
Попробую пояснить на диаграмме (жмакаем для увеличения):
Из рисунка видно, что мы не можем создать один пункт "Джаз" или "Классика" во втором списке, т.к. они у нас связаны с разными годами. нам приходится делать несколько пунктов с одинаковыми названиями.
Если же мы их привяжем к "корневому" пункту "Выберите год", то получим кучку пунктов во втором списке с одинаковыми названиями.
Можно было бы решить задачу как показано в нижней части рисунка выше. Т.е. создать "общий" пункт с названием "джаз", который бы появлялся бы при выборе "корневого" года, если бы не одно "но". Дело в том, что при загрузке компонента в списках появляются ВСЕ пункты.
Еще раз об этиологии вопроса.
Огромнейшая сложность появляется при создании связанных списков, имеющих однотипные пункты ( с одинаковым названием и смысловой нагрузкой соответственно)
Перестроить каким-либо другим способом связи пока невозможно. Если пользователь делает выбор слева направо, не пропуская списков, то он не заметит множество повторяющихся пунктов. Конечно это не есть гуд и вопрос занесен в разработку в следующих релизах компонента. Самое очевидное решение будет скорее всего в возможности редактировать появляющиеся пункты меню при загрузке компонента.
Использование компонента RelatedSelects на примере Стран, городов и улиц.
01.11.2011 21:33
Напомню еще раз, что в последней beta- версии при выборе мы получаем требуемые статьи Joomla.
1. Создаем таблицу стран, городов и улиц.
2. Смотрим на первую диаграмму.
2. Понимаем, что если не указать связь "через" город, то при выборе страны у нас НЕ появятся улицы. Поэтому смотрим на вторую диаграмму.
3. Формируем статьи Joomla. Записываем id созданных статей с примечаниями.
4. Дописываем в таблицу id-ники наших пунктов меню. Смотрим на вторую таблицу.
5. Создаем таблицу связей, чтобы не было неразберихи. При этом конечно же пользуемся уже заполненными нами таблицами.
6. Остается только заполнить все наши данные через админ-панель Joomla в компоненте RS_Jarts.
p.s. еще одна попытка доступного для понимания мануала для пользования этим компонентом. В следующих статьях обязательно расскажу как можно строить связи с одинаковыми группами (это очень даже неприятно) и выложить видео.
Диаграммы и таблицы "подкатом".