$eventManager = Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('sale', 'OnBasketUpdate', function($ID, $arItem){
global $USER, $DB;
$strGroups = $USER->GetUserGroupString();
$arUserGroups = explode(',', $strGroups);
$productID = $arItem['PRODUCT_ID'];
$quantity = $arItem['QUANTITY'];
$basket = Sale\Basket::loadItemsForFUser(Bitrix\Sale\Fuser::getId(), Bitrix\Main\Context::getCurrent()->getSite());
foreach ($basket as $basketItem) {
if( $basketItem->getField('PRODUCT_ID')==$productID && !$basketItem->isDelay() ) {
/*
если товаров меньше 3, то сразу вернем товару оптимальную цену
if(CModule::IncludeModule('catalog')) {}
$arPrice = CCatalogProduct::GetOptimalPrice($basketItem->getField('PRODUCT_ID'), $basketItem->getQuantity(), $arUserGroups, 'N');
$basketItem->setFields(array(
'CUSTOM_PRICE' => 'N',
'PRICE' => $arPrice['PRICE']['PRICE'],
));
*/
/*
если от 3 шт - тут надо сделать математические расчеты итоговой стоимости позиции в зависимости от кол-ва. Напоминаю: в битриксе одна строка одного товара, и только одну цену можно назначить на товар в корзине, а не 0 на одину штуку, и по 10 для двух других шт.
$basketItem->setFields(array(
'CUSTOM_PRICE' => 'Y',
'PRICE' => $SALEPRICE,
));
$arItem['BASE_PRICE'] = $SALEPRICE;
*/
$basketItem->save();
}
}
});
автор, для начала почитай что такое curl тогда. совсем немного, абзаца два хоть.
curl - это не язык, а средство передачи данных.
формулировка "перевести из curl в php" - просто очень некорректная.
вам дали пример, как передать данные по curl на языке программирования php. Все.
Тут только в CURLOPT_POSTFIELDS для удобства просто массив переведенный в json передавать, а не вручную все скобки фигурные прописывать
Александр,
если вы пытаетесь получить какой-то value из инпута типа image - то ошибка не в браузере (как и в любом другом случае, ошибка не в браузере)
элементы типа "image" используются для создания графических кнопок отправки, т.е. кнопки отправки, которые принимают форму изображения, а не текста.
None - атрибут value не должен указываться.
по этому ваш пример с полем md некорректен в принципе.
нет, я взяла перечисление пакетов из какого ресурса,
версии при установке пакетов не указывала.
т.е.
не
sudo apt-get install php5-dev
а
sudo apt-get install php-dev
и не
sudo pecl install pecl_http-1.7.6
а
sudo pecl install pecl_http
Почему вы считаете, что большие проекты могут без использования контейнеров ?
Насколько знаю, крупные интернет-магазины делают так. В прошлом году на одной конференции был бэкенд от ламоды, они точно на контейнеры все переводили тогда. Тинькоф в этом году слушала, вроде тоже у них контейнеры.
rudaki29rus,
а до usr/bin/php /var/...
настройки времени/периодичности вы же прописали?
просто из консоли если запустить - т.е. та же строчка что в правиле крон (без времени) - то работает?
С правами на файл и того, код кем правило в крон записываете - все ок?
Для начала разберитесь, сама команда выполняется ли, а уже потом почему на крон не выполняется.
ну вообще последний вариант верный. только еще можно после /usr/bin/php через пробел поставить параметр -f
и убедиться, что полный адрес к файлу верный.
в самом файле первая строка #!/usr/bin/php
а уже на второй "<?" или "<?php"
так у вас домен в итоге хостится на яндексе или на хостинге? где хостится, там эта запись и должна быть.
Если запись есть, а письма на майл все равно в спам уходят, то просто напишите в техподдержку майл (искать с той страницы, что ссылка выше), и они скажут вам конкретно, что еще надо сделать дял вашего домена, почему они ваши письма в спам отправляют (заголовки, адрес отправителя и еще некоторые мелочи иногда просят поправить). Уже много раз так делали, действительно помогало
@sim3x
согласилась бы, что докер нужен в редких случаях. но уже не первый год на кодерских конференциях все темы для бэкенда связаны с докерами-контейнерами. Отложила бы изучение этой темы еще дальше на потом, но тут новые клиенты образовались, у которых проект на таком варианте крутится, а я не але что-то.
вот так бы я делала в вашем случае: