• Как массово добавить цену всем товарам в инфоблоке в Битрикс?

    @haramba
    Почему вопросы о про битрикс такие тупые?
    Оформите самостоятельно, я с мобилки.
    Можно также CPrice::GetList опустить с апдейтом или вынести вне цикла, предварительно собрав ID элементов.

    Если много элементов, то разбить на части выполнение, либо 4-й параметр nPageSize, iNumPage. либо один раз считать idшники в сессию/файл,

    $PRICE_TYPE_ID = 1;
    $IBLOCK_ID = 8;
    
    
    $res = CIBlockElement::GetList([], ["IBLOCK_ID" => $IBLOCK_ID], false, false, ["ID"]);
    while ($item = $res->Fetch())
    {
    $PRODUCT_ID = $item["ID"];
    $arFields = Array(
        "PRODUCT_ID" => $PRODUCT_ID,
        "CATALOG_GROUP_ID" => $PRICE_TYPE_ID,
        "PRICE" => 1,
        "CURRENCY" => "RUB",
    );
    
    $res = CPrice::GetList(
            array(),
            array(
                    "PRODUCT_ID" => $PRODUCT_ID,
                    "CATALOG_GROUP_ID" => $PRICE_TYPE_ID
                )
        );
    
    if ($arr = $res->Fetch())
    {
        CPrice::Update($arr["ID"], $arFields);
    }
    else
    {
        CPrice::Add($arFields);
    }
    }
    Ответ написан
  • Найти Значение в массиве?

    @haramba
    Почему вопросы о про битрикс такие тупые?
    потому что, как написано в документации
    функция возвращает массив $txtRecords массивов $record
    т.е. вы сравниваете массив $record со значением $domain['edit_hash']
    Array
    (
        [0] => Array
            (
                [host] => php.net
                [type] => MX
                [pri] => 5
                [target] => pair2.php.net
                [class] => IN
                [ttl] => 6765
            )
    
        [1] => Array
            (
                [host] => php.net
                [type] => A
                [ip] => 64.246.30.37
                [class] => IN
                [ttl] => 8125
            )
    
    )
    Ответ написан
    5 комментариев
  • Как сделать цикличное чтение файла с ожиданием появления строки на php?

    @haramba
    Почему вопросы о про битрикс такие тупые?
    Попробовать примерно так?

    $count = 0;
    $found = false;
    $last_position = 0;
    $last_string = "";
    $search = "abrakadabra";
    
    $fp = fopen('somefile.txt', 'r');
    
    do {
        fseek($fp,  $last_position);
        $last_string = "";
        while (($buffer = fgets($fp)) !== false)  {
            $last_string .= $buffer;
        }
    
        if (strpos($last_string, $search) !== false) {
            $found = true;
        }
    
        $last_position += strlen($last_string);
        $count += 1;
        sleep(2);
    } while($found == false && $count < 10);
    
    if ($found == true) {
       echo "Текст найден!";
    }


    Можно также попробовать с вызовом system('tail -n 100 path/to/file'). Вместо 100 может быть другое значение.
    Ответ написан
    Комментировать
  • Как получить данные из Highload-блока?

    @haramba
    Почему вопросы о про битрикс такие тупые?
    примерно так, запускать самому лень, уж извините :)
    $tableName = "b_hlbd_manufacturer";
        $hlblock = \Bitrix\Highloadblock\HighloadBlockTable::getList(
            array("filter" => array(
                'TABLE_NAME' => $tableName
            ))
        )->fetch();
        if (isset($hlblock['ID']))
        {
            $entity = \Bitrix\Highloadblock\HighloadBlockTable::compileEntity($hlblock);
            $entity_data_class = $entity->getDataClass();
            $res = $entity_data_class::getList( array('filter'=>array()) );
             while ($item = $res->fetch()
             {
                    // .... la .. la .. la
             }
             // или так $arAllRows = $res->fetchAll();
        }
    Ответ написан
    1 комментарий
  • Загрузка и вывод картинки?

    @haramba
    Почему вопросы о про битрикс такие тупые?
    Вы скорее всего копируете загруженный фацл в папку вне корня сайта, поэтому и не выводит.
    1. проверить, что копируется хотя бы в /pics2/
    - содержимое этой папки
    2. Если папка выше корня сайта, перенести ее в папку сайта
    Тогда пути при move_uploaded_file сделать $_SERVER["DOCUMENT_ROOT"]."/path/to/pics2"

    В выводе должен быть путь относительным.
    < img src="/path/to/pics2/someimg.png" / >
    Ответ написан
  • Почему пустая папка glusterfs после ребута?

    @haramba Автор вопроса
    Почему вопросы о про битрикс такие тупые?
    Помогло mount -a. Лююююдииии!!!
    Ответ написан
    Комментировать