вопрос
Всем привет. Занимался любительски программированием лет 10 назад, уже все под забыл. Прошу небольшой помощи.
Кусок кода вырезан из плагина для выгрузки из 1с в Joomla. Плагин работает на обновления цен. Директор попросил переделать его, чтоб и новые позиции добавлялись пустые (то бишь Наименование, артикул, цена1, цена2).
С переменными проблем нет:
Как из этих переменных составить sql запрос на добавления товара? понимаю что далеко не тот CMS, нужно запрос для JOOMLA, но думаю ребята сможете мне помочь.
Может кому будет интересно вот кусок кода плагина:
Данный плагин был переделан с битрикс на джумал
Кусок кода вырезан из плагина для выгрузки из 1с в Joomla. Плагин работает на обновления цен. Директор попросил переделать его, чтоб и новые позиции добавлялись пустые (то бишь Наименование, артикул, цена1, цена2).
С переменными проблем нет:
$art- артикул
$prodtitle- наименование
$price_1- цена1
$price_2- цена2
Как из этих переменных составить sql запрос на добавления товара? понимаю что далеко не тот CMS, нужно запрос для JOOMLA, но думаю ребята сможете мне помочь.
Может кому будет интересно вот кусок кода плагина:
$glob_files = glob($_SERVER['DOCUMENT_ROOT'] . '/bitrix/admin/upload/offers*.xml');
usort($glob_files, function ($a, $b) {
return filemtime($a) - filemtime($b);
});
foreach ($glob_files as $xml_name) {
$xml_data = file_get_contents($xml_name, "SimpleXMLElement");
$xml = new SimpleXMLElement(mb_substr($xml_data, 0, mb_stripos($xml_data, '</КоммерческаяИнформация>')) . '</КоммерческаяИнформация>');
if (!empty($xml)) {
$price_cnt = count($xml->ПакетПредложений->Предложения->Предложение);
for ($i = 0; $i < $price_cnt; $i++) {
$price = $xml->ПакетПредложений->Предложения->Предложение[$i];
if (empty($price->Артикул)) continue;
$art = (string)$price->Артикул;
$prodtitle = (string)$price->Наименование;
$price_1 = (float)$price->Цены->Цена[0]->ЦенаЗаЕдиницу;
$price_2 = (float)$price->Цены->Цена[1]->ЦенаЗаЕдиницу;
if (empty($price_1)) continue;
$query = $db->prepare("SELECT `virtuemart_product_id` FROM `jos_virtuemart_products` WHERE `product_sku` = :product_sku LIMIT 1");
$query->execute(array('product_sku' => $art));
$prod_id = $query->fetchColumn(0);
if (empty($prod_id)) continue;
$query = $db->prepare("SELECT * FROM `jos_virtuemart_product_prices` WHERE `virtuemart_product_id` = :virtuemart_product_id LIMIT 1");
$query->execute(array('virtuemart_product_id' => $prod_id));
$price_old = $query->fetch(PDO::FETCH_ASSOC);
// if($price_old['product_price'] <> $price_1) echo $art."\n";
$query = $db->prepare("UPDATE `jos_virtuemart_product_prices` SET `product_price` = :price_1, `product_override_price` = :price_2 WHERE `virtuemart_product_id` = :virtuemart_product_id LIMIT 1");
$query->execute(array('price_1' => $price_1, 'price_2' => $price_2, 'virtuemart_product_id' => $prod_id));
file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/bitrix/admin/logs/' . date('y-m-d') . '.txt', date('H:i:s ' . $art . ' ' . $price_old['product_price'] . ' ' . $price_1 . "\n"), FILE_APPEND);
}
}
rename($xml_name, $_SERVER['DOCUMENT_ROOT'] . '/bitrix/admin/archive/' . str_replace('.xml', date('-y-m-d-h-i-s') . '.xml', basename($xml_name)));
}
Данный плагин был переделан с битрикс на джумал