$query = $modx->newQuery('msProduct');
$query->limit(10000);
$query->where(array(
'parent' => 4, // тут ID категории
));
$docs = $modx->getCollection('msProduct',$query);
foreach($docs as $doc){
$oldPrice = $doc->get('price');
$doc->set('price', $oldPrice + $oldPrice*0.08);
$doc->save();
}
Видел на SO предложение использовать file_put_contents и file_get_contents, но не понимаю как написать решение для неизвестного количества?
$merged = '';
$audioArray = json_decode($_POST['data']); //тут укажите свой ключ
foreach ($audioArray as $audio) {
$merged= $merged.file_get_contents($audio);
}
return file_put_contents('merged.mp3', $merged);
Может ли материнка убить аккумулятор?
SELECT concat(
JSON_UNQUOTE(json_extract(additional,'$.surname')),
JSON_UNQUOTE(json_extract(additional,'$.firsname')),
JSON_UNQUOTE(json_extract(additional,'$.lastname'))
) fullname
FROM `user_attributes`
;
$data = [
"orderNumber" => "".$orderNum."",
"orderLines" => [],
];
foreach ($products as $item) {
$data['orderLines'][] = [
"articleNumber" => $item['article'],
"name" => $item['name'],
"sellingPrice" => $item['price'],
"estimatedPrice" => $item['price'],
"quantity" => $item['count'],
"vat" => [
"rate" => 0,
"sum" => 0
],
"attributes" => [
"isDangerous" => false
],
"resideInPackages" => [
"1"
],
"supplierTin" => null,
"cis" => [
"0"
],
];
}
Object.keys(jsonKey).each(key => {
const value = jsonKey[key];
$(`.${key}`).html(value);
})
$.each($.parseJSON(response), (k, v) => $(`.${k}`).text(v));
for (const [ k, v ] of Object.entries(JSON.parse(response))) {
document.querySelector(`.${k}`).innerText = v;
}
<?php
// Указываем тип документа и кодировку:
header('Content-Type: text/html; charset=utf-8');
// Включаем отображение ошибок:
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
// Адрес для парсинга:
$url = 'https://w8shipping.com/tracking/?vin=3GNAXJEV5JS538785&searchAuto=Search';
// Создаём новый сеанс:
$curl = curl_init();
// Указываем адрес целевой страницы:
curl_setopt($curl, CURLOPT_URL, $url);
// О отключаем проверку SSL сертификата:
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
// Устанавливаем заголовки для имитации браузера:
$headers = [
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Accept-Encoding: gzip, deflate, br',
'Accept-Language: ru-RU,ru;q=0.9',
'Connection: keep-alive',
'DNT: 1',
'Host: ' . parse_url($url)['host'],
'sec-ch-ua: "Chromium";v="94", ";Not A Brand";v="99"',
'sec-ch-ua-mobile: ?0',
'sec-ch-ua-platform: "Windows"',
'Sec-Fetch-Dest: document',
'Sec-Fetch-Mode: navigate',
'Sec-Fetch-Site: none',
'Sec-Fetch-User: ?1',
'Upgrade-Insecure-Requests: 1',
'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.114 Safari/537.36'
];
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
// Разрешаем переадресацию:
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
// Запрещаем прямой вывод результата запроса:
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// Делаем сам запрос:
$result = curl_exec($curl);
// Завершаем сеанс:
curl_close($curl);
// Смотрим результат:
echo $result;
SELECT `o`.`num`, `o`.`createdon`, `o`.`cost`, `o`.`status`, `p`.`products`
FROM `modx_ms2_orders` AS `o`
LEFT JOIN (
SELECT `order_id`,
JSON_ARRAYAGG(
JSON_OBJECT('name', `name`, 'price', `price`, 'count', `count`)
) AS `products`
FROM `modx_ms2_order_products`
GROUP BY `order_id`
) AS `p` ON `p`.`order_id` = `o`.`id`
WHERE `o`.`user_id` = 106