Здравствуйте
Я пишу проекта, с битриксом только разбираюсь.
Проблема в инфоблоках.
Нужно сделать динамическое изменение инфоблока.
На картинке показано как нужно что-бы было, статическая информация через javascript.
Описание.
Пользователь должен выбрать (radio button) творчество (Индивидуальное или Коллективное),
От того что он выбрал, изменяется Группа или Категория.
Структура
Индивидуальное творчество
Возрастная группа
- от 3-х до 6-ти лет
- от 7 до 11 лет
- от 12 до 16 лет
Творческая категория
- «Я – художник!»
- «Я – скульптор!»
- «Я - танцор!»
Коллективное творчество
Вид коллектива
- «Садовские»
- «Школьные»
- «Семейные»
Творческая категория
- «Мы - художники!»
- «Мы - танцоры!»
- «Мы - скульпторы!»
- «Мы – музыканты!»
- «Мы – поэты!»
Как это реализовать в битриксе?
Создал Инфоблок, и 5 свойств "список"(творчество, Вид коллектива, Возрастная группа, Творческая категория1, Творческая категория2).
Создал страничку, добавил компонент "добавления елементов", сделал вывод 5 свойст.
И теперь нужно что-бы выводилось только 2 свойства в зависимости от творчества. Не могу встроить javascript теперь сюда.
Нужно кастомить шаблон или создать через файл result_modifier.php и там шаманить?
Разделял на два инфоблока, так же не получилось. На страничке не может быть два одинаковых компонента.. И они кусались между собой. Сделать две сслыки, (Коллективное и Индивидуальное), а потом в зависимости от творчества, переходить на страничку с разными компонентам добавления компонентов? Заказщик хочет сразу все на одной страничке. Без переходов.
Также сделать удобный фильтр поиска элемента по категориям.
Привязкой к разделу и к элементу, так же смотрел.
Может прикрутить jquery для изменения данных...
Я только учусь!
Я извинясь, здесь больше javascript чем битрикс, но все равно мне нужна помощь!!!
Пока редактирую шаблон...
вот кусок кода шаблона, в котором нужно изменить вывод свойств. код выводит 5 свойст на страницу.
<select name="PROPERTY[<?=$propertyID?>]<?=$type=="multiselect" ? "[]\" size=\"".$arResult["PROPERTY_LIST_FULL"][$propertyID]["ROW_COUNT"]."\" multiple=\"multiple" : ""?>">
<?
if (intval($propertyID) > 0) $sKey = "ELEMENT_PROPERTIES";
else $sKey = "ELEMENT";
foreach ($arResult["PROPERTY_LIST_FULL"][$propertyID]["ENUM"] as $key => $arEnum)
{
$checked = false;
if ($arParams["ID"] > 0 || count($arResult["ERRORS"]) > 0)
{
foreach ($arResult[$sKey][$propertyID] as $elKey => $arElEnum)
{
if ($key == $arElEnum["VALUE"]) {$checked = true; break;}
}
}
else
{
if ($arEnum["DEF"] == "Y") $checked = true;
}
?>
<option value="<?=$key?>" <?=$checked ? " selected=\"selected\"" : ""?>><?=$arEnum["VALUE"]?></option>
<?
}
?>
</select>
Я пишу проекта, с битриксом только разбираюсь.
Проблема в инфоблоках.
Нужно сделать динамическое изменение инфоблока.
На картинке показано как нужно что-бы было, статическая информация через javascript.
Описание.
Пользователь должен выбрать (radio button) творчество (Индивидуальное или Коллективное),
От того что он выбрал, изменяется Группа или Категория.
Структура
Индивидуальное творчество
Возрастная группа
- от 3-х до 6-ти лет
- от 7 до 11 лет
- от 12 до 16 лет
Творческая категория
- «Я – художник!»
- «Я – скульптор!»
- «Я - танцор!»
Коллективное творчество
Вид коллектива
- «Садовские»
- «Школьные»
- «Семейные»
Творческая категория
- «Мы - художники!»
- «Мы - танцоры!»
- «Мы - скульпторы!»
- «Мы – музыканты!»
- «Мы – поэты!»
Как это реализовать в битриксе?
Создал Инфоблок, и 5 свойств "список"(творчество, Вид коллектива, Возрастная группа, Творческая категория1, Творческая категория2).
Создал страничку, добавил компонент "добавления елементов", сделал вывод 5 свойст.
И теперь нужно что-бы выводилось только 2 свойства в зависимости от творчества. Не могу встроить javascript теперь сюда.
Нужно кастомить шаблон или создать через файл result_modifier.php и там шаманить?
Разделял на два инфоблока, так же не получилось. На страничке не может быть два одинаковых компонента.. И они кусались между собой. Сделать две сслыки, (Коллективное и Индивидуальное), а потом в зависимости от творчества, переходить на страничку с разными компонентам добавления компонентов? Заказщик хочет сразу все на одной страничке. Без переходов.
Также сделать удобный фильтр поиска элемента по категориям.
Привязкой к разделу и к элементу, так же смотрел.
Может прикрутить jquery для изменения данных...
Я только учусь!
Я извинясь, здесь больше javascript чем битрикс, но все равно мне нужна помощь!!!
Пока редактирую шаблон...
вот кусок кода шаблона, в котором нужно изменить вывод свойств. код выводит 5 свойст на страницу.
<select name="PROPERTY[<?=$propertyID?>]<?=$type=="multiselect" ? "[]\" size=\"".$arResult["PROPERTY_LIST_FULL"][$propertyID]["ROW_COUNT"]."\" multiple=\"multiple" : ""?>">
<?
if (intval($propertyID) > 0) $sKey = "ELEMENT_PROPERTIES";
else $sKey = "ELEMENT";
foreach ($arResult["PROPERTY_LIST_FULL"][$propertyID]["ENUM"] as $key => $arEnum)
{
$checked = false;
if ($arParams["ID"] > 0 || count($arResult["ERRORS"]) > 0)
{
foreach ($arResult[$sKey][$propertyID] as $elKey => $arElEnum)
{
if ($key == $arElEnum["VALUE"]) {$checked = true; break;}
}
}
else
{
if ($arEnum["DEF"] == "Y") $checked = true;
}
?>
<option value="<?=$key?>" <?=$checked ? " selected=\"selected\"" : ""?>><?=$arEnum["VALUE"]?></option>
<?
}
?>
</select>