Борис Бритва пишет: Если делать так, то выводятся все "Проекты", а не только те у которых в поле "Клиент" соответсвующий адресной строке ID. Что делать?
Достаточно странно, всё должно работать. Как вариант: поставьте демо-версию, посмотрите, как там реализована привязка и показ книг и авторов в магазине. Надеюсь, найдете ошибку. Нужная страница: http://<demo_сайт>/e-store/books/authors/detail.php?AUTHOR=1264
Самое простое: положите рядышком компонент Список связанных элементов (bitrix:catalog.link.list) и настройте его. При необходимости поправьте шаблон вывода.
Если Вы хотите выполнить какие-либо дополнительные действия к тем, что предусмотрены компонентой, то правкой шаблона не обойтись. Создавайте свою компоненту на основе стандартной и уже в коде компоненты (не шаблона) обрабатывайте доп.поля, выполняйте доп.действия.
(Идея дополнительно к механизму result_modifier.php (правка данных для шаблона), создать механизм вида action_modifier.php (выполнение дополнительных действий, не предусмотренных компонентой) пока не нашла понимания/поддержки со стороны Битрикса, поэтому остается пока только создание своей компоненты).
1. Не забывайте пользоваться поиском по форуму. Все вопросы (этот, а также будущие по Денверу тоже) уже не раз обсуждались, все ответы есть. 2. Ответ на этот конкретный вопрос: Bitrix устанавливается только в корень сайта. Т.е. туда, куда указывает переменная $_SERVER['DOCUMENT_ROOT']. Перенесите его из папки lm на уровень выше.
Руслан Салимов пишет: введённые данные не отображаются
Знать бы ещё, что и где не отображается
Рискну предположить, что в админке данные свойств заведены и видны, а в публичной части у соответствующих элементов не отображаются. В таком случае просто в настройках компоненты, отображающей элементы каталога, укажите список свойств, которые должны отображаться в публичной части.
Мда. Есть же пример уже, дальше немножечко головы и вперед по аналогии...
Цитата
Ginner пишет: он короче все все-таки отображает, только пишет Select, а OPTION - уже нет...
А откуда опшинам взяться? Что и откуда там должно вдруг появиться?
Делаем проще, шаблон не трогаем, помодифицируем $arResult (пример на коленке, поэтому тестируйте/правьте сами). Итак, копируем папку с дефолтным шаблоном компоненты в нужный шаблон сайта, создаем в папке файл result_modifier.php (что это такое - по ссылке в моем предыдущем сообщении) c примерно следующим содержимым:
Код
<?
//получаем информацию о нужном свойстве (если их много и нужна унификация - то можно пройтись циклом по всем свойствам типа "Е", указанным в настройках компоненты)
$dbProp = CIBlockProperty::GetById('PROP_CODE', $arParams['IBLOCK_ID']);
if ($arProp = $dbProp->GetNext())
{
//заменяем тип "Е" на тип "L", чтобы сработала соотв. ветка шаблона компоненты, отображающая select
$arProp['PROPERTY_TYPE'] = 'L';
//получаем список элементов, которые должны отображаться в комбобоксе (можно использовать в качестве iblock-code значение $arProp['LINK_IBLOCK_ID'], использовать нужные фильтры, если не все элементы нужны в комбобоксе)
$dbAllElements = GetIBlockElementListEx('iblock-type','iblock-code',false,Array("SORT"=>"ASC"), 0, Array(), array('ID','NAME'));
//первым элементом ставим пустое значение, если нужно, чтобы можно было ничего не выбирать)
$arAllElements = array(''=>array('VALUE'=>'Выберите:'));
//загоняем полученные значения в массив
while($arElement = $dbAllElements->Fetch())
{
$arAllElements[$arElement['ID']] = array('VALUE'=>$arElement['NAME']);
}
//записываем полученный массив в 'ENUM'
$arProp['ENUM'] = $arAllElements;
//добавляем наше свойство к уже существующим свойствам в $arResult
$arResult['PROPERTY_LIST_FULL'][$arProp['ID']] = $arProp;
if (!in_array($arProp['ID'], $arResult["PROPERTY_LIST"]))
$arResult["PROPERTY_LIST"][] = $arProp['ID'];
}
?>
В настройках компоненты укажите ID этих свойств (по умолчанию свойства этого типа не показываются при редактировании через интерфейс). В шаблоне добавьте вывод этого типа свойства на редактирование так, как вам надо (текстовое поле, комбобокс, радиокнопки). Если нужны допданные (для того же комбобокса выбрать из другого инфоблока названия элементов), то используйте result_modifier.php для их добавления в $arResult и затем используйте в шаблоне.
Или можно не править шаблон, а просто в том же result_modifier.php привести данные такого свойства к нужному типу данных ("L" для комбобокса или "S" для поля ввода).
Ginner пишет: Пользователи заполняют форму, после чего создается запись в соотв. инфоблоке. Требуется: создавая записи в инфоблоках, сразу распределять их по менеджерам, зарегистрированным в системе. После будет отслеживаться их работа с клиентами....
мне требуется, чтобы как пришла заявка с сайта (т.е. записалась в инфоблок), она автоматом (у заказчика надо уточнить, КАК, но сказал - автоматом ) распределяется в обязанность одному из менеджеров, он должен выполнить ее... как выполняет (связывается с клиентом и выполняет заказ) - он ее закрывает и заявка считается выполненной...
Для реализации этих требований модуль техподдержки и предназначен (только запись создается не в инфоблоке). Нужно только настроить его (завести SLA, необходимые статусы, категории вопросов, приписать менеджеров к требуемым группам, назначить менеджеров по умолчанию и пр.)
Артур пишет: У компонента "Элемент каталога детально" не отключаются "ссылки в навигацию". Это недоработка?
Лучше всего спрашивать это у техподдержки.
Да, у компоненты "Элемент каталога детально" нет такой настройки. Вариантов решения несколько: 1. Обратиться в техподдержку с просьбой добавить такую настройку.
2. Сделать свой компонент на базе стандартного, где самому реализовать эту настройку (или просто вырезать "ненужный" кусок кода)
3. Самым элегантным решением было бы зануление значения $arResult['SECTION'] через файл result_modifier.php c кодом вида:
Код
<?
unset($arResult["SECTION"]);
?>
Однако проверка показала, что этот вариант не работает. Массив $arResult в шаблон передается по значению, а не по ссылке, хотя вроде бы должно быть наоборот. Поэтому изменения в $arResult через модификатор не передаются в код компоненты.
Исправляется достаточно легко, достаточно в файле \bitrix\modules\main\classes\general\component_template.php в строке 306 добавить знак & перед $arResult, но всё же, если хотите пойти по этому пути, советую обратиться за разъяснениями/исправлением в техподдержку, а не исправлять самостоятельно.
Подключать точно также. Только нужно будет скопировать этот же шаблон news компонента в шаблон index сайта. Или перенести его из /bitrix/templates/second/ в /bitrix/templates/.default/
Так что можно пользоваться и CIBlockElement::SetPropertyValueCode, и CIBlockElement::SetPropertyValues с использованием последнего параметра PROPERTY_CODE без опасения удалить другие свойства.