партнер компании 1с-битрикс
сайт фрилансера Сергея Эстрина
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
Простой адаптивный форум - модуль для битрикс
Страницы: 1
Ответить
RSS
Отфильтрованный вывод в детальной элемента который привязан
 
На детальной странице элемент(МО) выведены привязанные элементы(УСЛУГИ) с помощью grain:table.view, нужно на детальной странице УСЛУГИ вывести МО к которым привязана эта услуга.
С обычным свойством привязки я выводил на детальной странице УСЛУГИ компонент catalog.section и делал фильтрацию по значению свойства
<?$GLOBALS["arrFilter"] = array("PROPERTY_U1_VALUE"=> $arResult["ID"];?> , со свойством привязка таблица походу не работает.
Можно вообще как то сделать такое?
 
Здравствуйте. Давайте разберемся. У вас используются Свойства-таблицы + Универсальные свойства привязки? У нечто под названием МО есть свойство-таблица у которой есть столбец с привязкой к услугам, я правильно понял? И на детальной странице МО вы хотите вывести все привязанные услуги?
 
вы все правильно поняли!
Но не на детальной странице МО, а на детальной странице услуги вывести все МО у которых в свойстве таблица указана данная услуга
 
Вы можете использовать функцию GPropertyTable::GetColumnFilter для фильтрации по определенному столбцу таблицы, так выбрать все МО, у которых есть привязка к данной услуге.
 
мб я чего не так делаю?
Код
if (CModule::IncludeModule("iblock") && CModule::IncludeModule("grain.tables")) {

   $rsElements = CIBlockElement::GetList(
      Array("SORT"=>"ASC","NAME"=>"ASC"),
      Array(
         "IBLOCK_ID"=>30,
         "ACTIVE"=>"Y",
         "PROPERTY_worktime" => GPropertyTable::GetColumnFilter("iuhtveserxmzlzsk", $arResult["NAME"])
      ),
      false,
      false,
      Array("ID","NAME")
   );

   while($arElement=$rsElements->GetNext()) {
      echo "<pre>"; print_r($arElement); echo "</pre>";
   }

}


iuhtveserxmzlzsk - идентификатор столбца

$arResult["NAME"] - имя услуги

он мне выводит все МО, а должен только те у которых в значении свойства есть данная услуга.
 
worktime - это символьный код вашего свойства?
Почему $arResult["NAME"]? Вы же по привязке фильтруете, привязка идет по ID, должно быть $arResult["ID"]?
 
Код
if (CModule::IncludeModule("iblock") && CModule::IncludeModule("grain.tables")) {
   $rsElements = CIBlockElement::GetList(
      Array("SORT"=>"ASC","NAME"=>"ASC"),
      Array(
         "IBLOCK_ID"=>30,
         "ACTIVE"=>"Y",
         "PROPERTY_U1" => GPropertyTable::GetColumnFilter("iuhtveserxmzlzsk", $arResult["ID"])
      ),
      false,
      false,
      Array("ID","NAME")
   );

   while($arElement=$rsElements->GetNext()) {
      echo "<pre>"; print_r($arElement); echo "</pre>";
   }

}
PROPERTY_U1 - U1 символьный код свойства
По прежнему не выводится ничего.
если я убираю $arResult["ID"], у меня выводится весь список МО
массив вида
Код
Array
(
    [ID] => 2488
    [~ID] => 2488
    [NAME] =>  Детская консультация
    [~NAME] =>  Детская консультация
    [SORT] => 500
    [~SORT] => 500
)
А у нас случайно получается нетак что:
Если $arResult["ID"] совпадает со значением ключа в массиве, например [ID] => 2488, то выведет Детская консультация ?

Но мне не так нужно.
У элемента Детская консультация(МО) есть свойство таблица, и там выбрана услуга на детальной странице, которой я и хочу вывести Детская консультация.
 
Цитата
Гость написал:
если я убираю $arResult["ID"], у меня выводится весь список МО
Таким образом вообще сортировка по данному свойству не работает, поэтому и выводится все.


Цитата
Гость написал:
А у нас случайно получается нетак что:
Если $arResult["ID"] совпадает со значением ключа в массиве, например [ID] => 2488, то выведет Детская консультация ?

Но мне не так нужно.
У элемента Детская консультация(МО) есть свойство таблица, и там выбрана услуга на детальной странице, которой я и хочу вывести Детская консультация.
Не уверен что я правильно понял, может вам не хватает просто вашей таблицы в ключе $arSelect, а может сортировка на работает, или IBLOCK_ID не от того инфоблока указан.
 
Сергей Эстрин, Мне как раз не хватает таблицы со значениям в массиве
Array(
[ID] => 2488
[~ID] => 2488
[NAME] => Детская консультация
[~NAME] => Детская консультация
[SORT] => 500
[~SORT] => 500
)

Как то можно сделать чтобы в этом массиве присуствовала эта таблица?
 
Цитата
Гость написал:
Сергей Эстрин , Мне как раз не хватает таблицы со значениям в массиве
Array (
[ID] => 2488
[~ID] => 2488
[NAME] => Детская консультация
[~NAME] => Детская консультация
[SORT] => 500
[~SORT] => 500
)

Как то можно сделать чтобы в этом массиве присуствовала эта таблица?

Насколько я понял, этот массив относиться к услугам, а свойство-таблица ведь у МО?
 
Сергей Эстрин, Верно!
 
В таком случае не получится?
 
Цитата
Гость написал:
В таком случае не получится?
Что именно не получится?
 
Сергей Эстрин, то как вы сказали не получается.
Свойство таблица у МО и в значении встречается услуга.
А на детальной странице услуги нужно вывести эту МО
 
я так понимаю с данным модулем такое не реально сделать? Или я не понятно обьяснил?
 
Вообще-то сорри, я запутался, что именно сделать нужно)
 
http://medrupor.ru/med-organizacii/ivanovskaya-oblast/2263/?sphrase_id=6360 - детальная элемента МО, у которого есть свойство таблицы, Акушерство и гинекология например.
В значении свойства Акушерство и гинекология, привязан элемент другого инфоблока, например Прием (осмотр, консультация) врача-акушера-гинеколога первичны.


На детальной странице услуги Прием (осмотр, консультация) врача-акушера-гинеколога первичны. нужно вывести МО в которой этот элемент привязан
http://medrupor.ru/patsientu/uslugi/detail.php?ID=29503 - детальная страница услуги.
Как это можно сделать?
 
вы мне поможете?
 
Гость, извините, что не ответил раньше.
Если у вас возникают проблемы с выборкой через GPropertyTable::GetColumnFilter, вы можете воспользоваться событиями OnAfterIBlockElementAdd, OnAfterIBlockElementUpdate для копирования значения вашей привязки в отдельное свойства типа "Привязка к элементам инфоблока" (само свойство можно скрыть из формы при помощи соответствующей галочки в настройках свойства).
Страницы: 1
Ответить
Читают тему (гостей: 1)
Форма ответов
Текст сообщения*
Ничего не найдено
Загрузить картинки
Отправить Отменить
 
Главная   ·   Модули для 1С-Битрикс   ·   Типовые услуги   ·   Форум   ·   Блог   ·   Контакты
Рейтинг@Mail.ru