Поисковая форма:) поиск по free-lance.ru Топ/история/обновления фриланса, по разным параметрам (темы, сообщения, пользователи...) Автоматическое удаление постов от ненужных юзеров в топике (php скрипт) Досье(точный ник)
 

Ник (или часть ника):
?
Какой текст ищем:
?
Раздел блогов:
За срок
дней
Тип поиска: (по вхождению: по тексту гуг выдаст посты с "гуг", "гугл", "огугл"; "полнотекстовый": по тексту "гуг" выдаст посты только с "гуг")
По вхождению строки:  Полнотекстовый: 
(поиск не 100% актуальный, есть определённая задержка при обновлении данных для поиска. )
0 Всего найдено: 5
Melo Сообщение 04/02/2010 14:20 Копия темы
[Решение] Как работать со связанными элементами в Битриксе? Многие очень часто сталкиваются с проблемой – как же работать со связанными элементами?
Это может произойти если вы используете характеристики в 1С, если у вас так организована структура магазина или даже просто так или иначе вам нужно с ними работать..
Далее, я опубликую код который, надеюсь, вам поможет. 

<?
$arID = $arElement["ID"]; // id товара
$IBlockID=15; // id инфоблока
$arSelect = Array("ID", "NAME", "DATE_ACTIVE_FROM"); // поля
$arFilter = array(
"ACTIVE" => "Y",
"IBLOCK_ID" => IntVal($IBlockID),
"ACTIVE_DATE" => "Y",
"PROPERTY_CML2_LINK" => $arID,
); //  фильтр
$res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>50), $arSelect); // метод GetList класса CIBlockElement
// запускаем цикл
while($ob = $res->GetNextElement())
{
// получаем искомые поля
  $arFields = $ob->GetFields();
// задаем значения переменных для того, чтобы узнать цену товара
  $productID =$arFields["ID"];
  $quantity=1;
  $renewal = "N";
// узнаем оптимальную цену методом GetOptimalPrice класса CCatalogProduct
  $arPrice = CCatalogProduct::GetOptimalPrice($productID, $quantity, $USER->GetUserGroupArray(), $renewal);
  if (!$arPrice || count($arPrice) <= 0)
  {
    if ($nearestQuantity = CCatalogProduct::GetNearestQuantityPrice($productID, $quantity, $USER->GetUserGroupArray()))
    {
        $quantity = $nearestQuantity;
        $arPrice = CCatalogProduct::GetOptimalPrice($productID, $quantity, $USER->GetUserGroupArray(), $renewal);
    }
  }

// отображение полученных значений
echo 'Характеристика: '.$arFields["NAME"].'';
echo 'Цена: '.$arPrice["PRICE"]["PRICE"].' руб';
?>
Надеюсь пригодится.
BossIT Сообщение 04/02/2010 14:35 Копия темы
Никогда больше не публикуй подобный код.
Для чего в $arFilter дважды проверка на ACTIVE?
Melo Сообщение 04/02/2010 21:43 Копия темы
Да, качество кода здесь паршивое скорее всего, но вот типичный пример ситуации когда нужно это решение:
Вы используете 1С-Управление Торговлей (с последними обновлениями) и у ваших товаров есть характеристики. От каждой характеристики зависит и цена. Битрикс при импорте номенклатуры характеристики заводит как отдельные элементы информационного блока "предложения" и связывает их с основным информационным блоком через связанные элементы.
Стандартные шаблоны Битрикса компонента catalog не содержат, например, отображения цен и характеристик товаров на странице секции товаров.
Это отображение реализовано лишь на странице детального отображения товара.
На все мои вопросы в тех.поддержку был один ответ – проблема частная и у тех.поддержки нет возможности ее решать.
А теперь представьте такой случай – вы выгрузили товары на сайт, а цен в списке товаров нет и отобразить их нельзя т.к. это "частный случай у вас". Правильно ли это? Нет.
Для меня не составит труда больше не писать о подобных проблемах и их решениях. Я буду дальше решать их сам, но почему бы мне не помочь людям которые сталкиваются с подобного рода проблемами?
Было бы не так уж и плохо, если бы были комментарии к коду по существу (спасибо за ACTIVE, исправил) – это позволит и мне отследить где я  могу ошибаться и людям подсказать варианты решений.
Надеюсь кому-то это поможет. Все-таки несколько раз слово "спасибо" я услышал.. и это радует.
lvi Сообщение 05/02/2010 00:02 Копия темы
да молодца.
в любом коде можно найти огрехи. в данном случае, самое главное, чтобы он работал и выполнял свои функции, а уж затачивать его можно по ходу пьесы.
SolnceWeb Сообщение 04/10/2010 17:01 Копия темы
это не просто поможет, это ...ц как помогло. Спасибо.
0

©2008 edogs egods
Выразить восторг, поругаться
или предложить что-нибудь можно на форуме
Для обсуждения этого сервиса так же есть темы на фрилансе по
поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал"