Конкретного фрагмента кода не приведу, однако порекомендую воспользоваться CIblockElement::getList вместе с фильтрацией по цене.
ну тогда либо includeTemplate в кеш переноси. Либо сам кешируй - пример можно посмотреть в стандартном шаблоне catalog, bootstrap_v4, файл section.php
/bitrix/components/bitrix/catalog/templates/bootstrap_v4/section.php
Если через d7 запросы делаешь, есть параметр cache, в доках найдешь как писать, сам не помню как он работает
public static void Main()
{
string json = @"{300:[{'Lygis':2,'Patiekalo_ID':30}],110:[{'Lygis':3,'Patiekalo_ID':31}]}";
var jObj = (JObject)JsonConvert.DeserializeObject(json);
Sort(jObj);
string newJson = jObj.ToString();
Console.WriteLine(newJson);
}
static void Sort(JObject jObj)
{
var props = jObj.Properties().ToList();
foreach (var prop in props)
{
prop.Remove();
}
foreach (var prop in props.OrderBy(p=>Int32.Parse(p.Name)))
{
jObj.Add(prop);
if(prop.Value is JObject)
Sort((JObject)prop.Value);
}
}
var wasAuth = new Promise(
function (resolve, reject) {
fetch('ajax.php')
.then(function(response) {
return response.json();
})
.then(function(res) {
resolve("Auth == true");
// OR
reject(new Error("Auth == false"));
})
.catch(alert);
}
);
var sell = function () {
wasAuth
.then(function (fulfilled) {
console.log(fulfilled); // Auth == true
})
.catch(function(error) {
console.log(error.message); // Auth == false
});
};
sell();