Для выполнения POST запроса в Битрикс 1С с помощью AJAX для изменения цены товара на странице карточки товара, можно использовать следующий пример кода:
1. В файле init.php добавьте обработчик AJAX запроса:
```php
AddEventHandler("main", "OnEpilog", "OnPageLoaded");
function OnPageLoaded() {
if (isset($_POST['action']) && $_POST['action'] == 'changePrice') {
$productId = $_POST['productId'];
$newPrice = $_POST['newPrice'];
// Ваш код для изменения цены товара по $productId на $newPrice
}
}
```
2. На странице карточки товара добавьте JavaScript код для отправки AJAX запроса:
```javascript
var productId = 123; // ID товара
var newPrice = 100; // Новая цена
$.ajax({
type: 'POST',
url: '/bitrix/init.php',
data: {
action: 'changePrice',
productId: productId,
newPrice: newPrice
},
success: function(response) {
// Обработка успешного ответа
},
error: function() {
// Обработка ошибки
}
});
```
Для изменения цены только определенных товаров можно добавить условие в обработчик AJAX запроса в файле init.php:
```php
AddEventHandler("main", "OnEpilog", "OnPageLoaded");
function OnPageLoaded() {
if (isset($_POST['action']) && $_POST['action'] == 'changePrice') {
$productId = $_POST['productId'];
$newPrice = $_POST['newPrice'];
// Добавьте условие для изменения цены только определенных товаров
if ($productId == 123) {
// Ваш код для изменения цены товара по $productId на $newPrice
}
}
}
```
Таким образом, после добавления условия в обработчик AJAX запроса, изменения цены будут применяться только к товарам с ID равным 123.getMockInstance().