Устроился на новую работу, у них есть сайт на joomla, с прикрученным магазином virtuemart, так вот , в шаблон товаров, было добавлено поле "id"(добавлял не я, поэтому не знаю как оно добавлялось, скорее всего через админку) в которое вписывается в ручную id товара, при заказе формируется файл и уходит на почту, этот файл потом загружается в 1С для контроля расходов. Проблема в том что не со всех товаров подхватывается этот id, хотя на всех товарах он проставлен и в базе MySQL он есть, не могу понять причину такого поведения, у всех групп и товаров стоят одинаковые параметры, иногда id не берутся со всей группы, иногда с каких-то определённых товаров из группы X.
Вопрос как отследить из-за чего с этих товаров не берутся id, в базе есть, в приходящем файле нет.
1. electronik - 18 Октября, 2010 - 00:16:10 - перейти к сообщению
2. electronik - 19 Октября, 2010 - 00:26:39 - перейти к сообщению
Подскажите может можно как-то отмониторить процесс формирования файла или запросы к БД.
3. electronik - 21 Октября, 2010 - 14:54:29 - перейти к сообщению
Вот функция получения id, товар разделен, на половинные порции.
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- while($dboi->next_record())
- {
- $productNumber++;
- $xmlFile['tag']['menu'][$productNumber]['product_name'] = $dboi->f("product_name");
- //$xmlFile['tag']['menu'][$productNumber]['id'] = $dboi->f("product_id");
- $q = "SELECT * FROM #__{vm}_product_price WHERE product_id=".$dboi->f("product_id");
- $db_price->query($q);
- $db_price->next_record();
- $quantity = $dboi->f("product_quantity");
- // Check the quantity
- $xmlFile['tag']['menu'][$productNumber]['quantity'] = $quantity;
- $xmlFile['tag']['menu'][$productNumber]['price'] =
- $db_price->f("product_price")*$xmlFile['tag']['menu'][$productNumber]['quantity'];
- {
- //Adding integer part of the quantity
- if($quantity >= 1)
- {
- $xmlFile['tag']['menu'][$productNumber]['id'] = $db_price->f("pizza_id");
- $xmlFile['tag']['menu'][$productNumber]['price'] =
- $xmlFile['tag']['order_summ'] += $xmlFile['tag']['menu'][$productNumber]['price'];
- $productNumber++;
- } else
- //Adding 0.5 part of the quantity
- $xmlFile['tag']['menu'][$productNumber]['id'] = $db_price->f("pizza_id_half");
- $xmlFile['tag']['menu'][$productNumber]['product_name'] = $dboi->f("product_name");
- $xmlFile['tag']['menu'][$productNumber]['quantity'] = 0.5;
- $xmlFile['tag']['menu'][$productNumber]['price'] = $db_price->f("product_price_half");
- } else {
- $xmlFile['tag']['menu'][$productNumber]['price'] =
- $db_price->f("product_price")*$xmlFile['tag']['menu'][$productNumber]['quantity'];
- }
я так понимаю что проблема в строке
потому что при отладке, после неё он всё пропускает и перескакивает сразу на