Перейти к содержимому


Учет товаров по характеристикам


  • Вы не можете ответить в тему
Сообщений в теме: 5

#1 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 25 April 2014 - 06:27 PM

Наболело за неделю ебли. Буду постить сюда найденные глюки из вышеозначенного модуля namer-а, купленного не так давно клиентом за штатные 3500руб (насколько я помню). Текущий код ничем не отличается от кода годовалой давности, те же ошибки и проблемы. Дорабатывать модуль под клиента автор отказался. Исправлять ошибки, о которых я писал (?) около года назад тоже явно не собирается.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#2 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 28 April 2014 - 10:35 PM

Модуль "Учет товаров по дополнительным характеристикам".

Мне надоело копаться с исходным авторским кодом, я его причесал для удобства и понятности, а также сделал в виде инструкции.
Надеюсь, ничего не забыл :).

Отличия:

- После инсталляции учет выключен (галка "УчДХ" у товаров снята). Т.е. если ее не включать, то все работает как и раньше.
- исправлена ошибка в configurator.php, из-за которой криво работало модальное окно выбора вариантов при выключенном УчДХ.
- синтаксис <?bla-bla-bla?> заменен на <?php bla-bla-bla ?>. Не знаю, почему, но у меня на PHP 5.3.8 такой синтаксис не работает.
- добавлена отправка емейла админу об окончании ОДНОГО ИЗ вариантов товара.
- убраны авторские шаблоны краткого и полного описания. Вместо них добавлены правки штатных шаблонов, скрывающие варианты с нулевым количеством на складе.
- многократно повторяющийся код проверки состояния галки УчДХ вынесен в отдельную функцию.
- убрано некоторое количество лишнего (на мой взгляд) кода.

1. копируем файлы

configurator.php -> /core/includes/processor/
cisfo_functions.php -> /core/founctons/

2. в файле catalog_products_categories.php

2.1. после строки


} else {


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
if (!db_fetch_row(db_query("SHOW COLUMNS FROM ".PRODUCTS_TABLE." LIKE 'check_in_stock_from_options'"))) db_query("ALTER TABLE ".PRODUCTS_TABLE." ADD check_in_stock_from_options TINYINT(1) NOT NULL DEFAULT 0");
if (!db_fetch_row(db_query("SHOW COLUMNS FROM ".PRODUCTS_OPTIONS_SET_TABLE." LIKE 'qty'"))) db_query("ALTER TABLE ".PRODUCTS_OPTIONS_SET_TABLE." ADD qty INT(11) NOT NULL DEFAULT 0");
if (!db_fetch_row(db_query("SHOW COLUMNS FROM ".ORDERED_CARTS_TABLE." LIKE 'variantID'"))) db_query("ALTER TABLE ".ORDERED_CARTS_TABLE." ADD variantID INT( 11 ) NULL");
#END Учет количества товара по дополнительным характеристикам


2.2. строку


$data = ScanPostVariableWithId( array( "price", "enable", "left", "sort_order" ) );


заменяем на


#BEGIN Учет количества товара по дополнительным характеристикам
#$data = ScanPostVariableWithId( array( "price", "enable", "left", "sort_order" ) );
$data = ScanPostVariableWithId( array( "price", "enable", "left", "sort_order", "check_in_stock_from_options" ) );
#END Учет количества товара по дополнительным характеристикам


2.3. чуть ниже после строк (строк!)


foreach( $data as $key => $val )
{


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
if ( isset($val["check_in_stock_from_options"]) ) db_query( "UPDATE ".PRODUCTS_TABLE." SET check_in_stock_from_options=".(int)$val["check_in_stock_from_options"]." WHERE productID=".(int)$key );
#END Учет количества товара по дополнительным характеристикам



3. в файле catalog_products_categories.tpl.html

3.1. перед строкой


<td align="left" width="100%"><a href='{$urlToSort}&amp;sort=name&amp;sort_dir=ASC' title="{$smarty.const.ADMIN_ADMIN_MENUNEW11}" class="liv">{$smarty.const.ADMIN_PRODUCT_NAME}</a></td>


вставляем


{* BEGIN Учет количества товара по дополнительным характеристикам *}
<td align="center">УчДХ</td>
{* END Учет количества товара по дополнительным характеристикам *}


3.2. перед строкой


<td align="left"><a href="{$smarty.const.ADMIN_FILE}?productID={$products[i].productID}&amp;eaction=prod" title="{$smarty.const.ADMIN_ADMIN_MENUNEW9}" {if !$products[i].enabled}class="greyy"{/if}>{$products[i].name}</a></td>


вставляем


{* BEGIN Учет количества товара по дополнительным характеристикам *}
<td align="center"><input type="hidden" name="check_in_stock_from_options_{$products[i].productID}" id="check_in_stock_from_options_{$products[i].productID}" {if $products[i].check_in_stock_from_options}value='1'{else}value='0'{/if} ><input type="checkbox" class="round" name="checkbo_check_in_stock_from_options_{$products[i].productID}" id="checkbo_check_in_stock_from_options_{$products[i].productID}" {if $products[i].check_in_stock_from_options eq 1}checked{/if} onclick='CheckBoxHandler_check_in_stock_from_options({$products[i].productID})' title="{$smarty.const.ADMIN_ADMIN_MENUNEW6}"></td>
{* END Учет количества товара по дополнительным характеристикам *}


3.3. после строк (строк!)


document.getElementById('enable_' + id).value = '0';
{literal}}{/literal}


вставляем


// BEGIN Учет количества товара по дополнительным характеристикам
function CheckBoxHandler_check_in_stock_from_options(id){literal}{{/literal}
if ( document.getElementById('checkbo_check_in_stock_from_options_' + id).checked )
document.getElementById('check_in_stock_from_options_' + id).value = '1';
else
document.getElementById('check_in_stock_from_options_' + id).value = '0';
{literal}}{/literal}
// END Учет количества товара по дополнительным характеристикам


3.4. заменяем везде colspan="15" на colspan="16"


4. в файле shopping_cart.php

4.1. перед строкой


$is=GetProductInStockCount( $productID );


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
if(cisfo($productID))
{
$variants = GetConfigurationByItemId(str_replace("count_","",$key));
$is=GetProductInStockCount( $productID, $variants[0]);
}
else
#END Учет количества товара по дополнительным характеристикам


4.2. перед строкой


$is=GetProductInStockCount( $res["productID"] );


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
if(cisfo($res["productID"])) $is=GetProductInStockCount( $res["productID"], $res["variants"][0] );
else
#END Учет количества товара по дополнительным характеристикам



5. в файле cart_functions.php

5.1. в функции GetProductInStockCount вместо строк


function GetProductInStockCount($productID)
{
$q=db_query("select in_stock from ".PRODUCTS_TABLE." where productID=".(int)$productID);


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
#function GetProductInStockCount($productID)
#{
#$q=db_query("select in_stock from ".PRODUCTS_TABLE." where productID=".(int)$productID);

function GetProductInStockCount($productID, $variantID = false)
{
if($variantID !== false) $q = db_query("SELECT qty FROM ".PRODUCTS_OPTIONS_SET_TABLE." WHERE productID=".(int)$productID." AND variantID=".$variantID);
else $q = db_query("SELECT in_stock FROM ".PRODUCTS_TABLE." WHERE productID=".(int)$productID);
#END Учет количества товара по дополнительным характеристикам


5.2. в функции cartMoveContentFromShoppingCartsToOrderedCarts

5.2.1 перед строками


db_query("INSERT INTO ".ORDERED_CARTS_TABLE.
"( itemID, orderID, name, ".
" Price, Quantity, tax ) ".
" VALUES ".
" (".(int)$item["itemID"].",".(int)$orderID.", '".xEscSQL($productComplexName)."', ".xEscSQL($price).
", ".(int)$item["Quantity"].", ".xEscSQL($tax)." )");


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
if($cisfo = cisfo($productID)) db_query("INSERT INTO ".ORDERED_CARTS_TABLE."(itemID, orderID, name, Price, Quantity, tax, variantID ) VALUES (".(int)$item["itemID"].",".(int)$orderID.", '".xEscSQL($productComplexName)."', ".xEscSQL($price).", ".(int)$item["Quantity"].", ".xEscSQL($tax).", ".(int)$variants[0]." )");
else
#END Учет количества товара по дополнительным характеристикам


5.2.2 перед строкой


db_query( "update ".PRODUCTS_TABLE." set in_stock = in_stock - ".(int)$item["Quantity"].


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
if($cisfo)
{
db_query("UPDATE ".PRODUCTS_OPTIONS_SET_TABLE." SET qty = qty - ".(int)$item["Quantity"]." WHERE productID=".(int)$productID." AND variantID=".(int)$variants[0] );
$in_stock = db_fetch_row(db_query("SELECT SUM(qty) FROM ".PRODUCTS_OPTIONS_SET_TABLE." WHERE productID=".(int)$productID));
db_query("UPDATE ".PRODUCTS_TABLE." SET in_stock=".(int)$in_stock[0]." WHERE productID=".(int)$productID);
# BEGIN email-on-qty-patch
if (CONF_NOTIFY_STOCKADMIN)
{
$qty = db_fetch_assoc(db_query("SELECT qty FROM ".PRODUCTS_OPTIONS_SET_TABLE." WHERE productID=".(int)$productID." AND variantID=".(int)$variants[0]));
if ($qty['qty'] < 1)
{
$name = db_fetch_row(db_query("SELECT option_value FROM ".PRODUCTS_OPTIONS_VALUES_VARIANTS_TABLE." WHERE variantID=".(int)$variants[0]));
$smarty_mail->assign( "option_value", $name["option_value"] );
$productsta = db_fetch_row(db_query("SELECT name FROM ".PRODUCTS_TABLE." WHERE productID=".(int)$productID));
$smarty_mail->assign( "productstaname", $productsta["name"] );
$smarty_mail->assign( "productstid", $productID );
$stockadmin = $smarty_mail->fetch( "notify_stockadmin.tpl.html" );
xMailTxtHTMLDATA(CONF_ORDERS_EMAIL,CUSTOMER_ACTIVATE_99,$stockadmin);
}
}
# END email-on-qty-patch
}
else
#END Учет количества товара по дополнительным характеристикам


5.3. в функции cartAddToCart перед строкой

ё

$is = GetProductInStockCount( $productID );


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
if(cisfo($productID)) $is = GetProductInStockCount( $productID, $variants[0] );
else
#END Учет количества товара по дополнительным характеристикам



6. в файле configurator_functions.php в функции UpdateConfiguriableProductOption

6.1. перед строкой


db_query("update ".PRODUCTS_OPTIONS_SET_TABLE." set price_surplus='".


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
if(cisfo($productID)) db_query("UPDATE ".PRODUCTS_OPTIONS_SET_TABLE." SET price_surplus='".(float)$setting[$key]["price_surplus"]."', qty='".(int)$setting[$key]["qty"]."'".$where_clause );
else
#END Учет количества товара по дополнительным характеристикам


6.2. перед строкой


db_query("insert into ".PRODUCTS_OPTIONS_SET_TABLE.


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
if(cisfo($productID)) db_query("INSERT INTO ".PRODUCTS_OPTIONS_SET_TABLE."(productID, optionID, variantID, price_surplus, qty) VALUES ( '".(int)$productID."', '".(int)$optionID."', '".(int)$key."', '".(float)$setting[$key]["price_surplus"]."', '".(int)$setting[$key]["qty"]."')");
else
#END Учет количества товара по дополнительным характеристикам



7. в файле order_functions.php

7.1. в функции _moveSessionCartContentToOrderedCart

перед строкой


db_query( "insert into ".ORDERED_CARTS_TABLE." ( itemID, orderID, name, Price, Quantity, tax ) ".


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
if(cisfo($productID)) db_query( "INSERT INTO ".ORDERED_CARTS_TABLE." ( itemID, orderID, name, Price, Quantity, tax, variantID ) VALUES ( ".(int)$itemID.", ".(int)$orderID.", '".xEscSQL($productComplexName)."', '".xEscSQL($price)."', ".(int)$quantity.", ".xEscSQL($tax).", ".(int)$variants[0]." ) " );
else
#END Учет количества товара по дополнительным характеристикам


7.2. в функции ordOrderProcessing

7.2.1. вместо строки


$q1 = db_query("select itemID, Quantity FROM ".ORDERED_CARTS_TABLE." WHERE orderID=".(int)$orderID);


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
#$q1 = db_query("select itemID, Quantity FROM ".ORDERED_CARTS_TABLE." WHERE orderID=".(int)$orderID);
$q1 = db_query("select itemID, Quantity, variantID FROM ".ORDERED_CARTS_TABLE." WHERE orderID=".(int)$orderID);
#END Учет количества товара по дополнительным характеристикам


7.2.2. перед строкой


db_query( "update ".PRODUCTS_TABLE." set in_stock = in_stock - ".(int)$item["Quantity"].


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
if(cisfo($pr[0]))
{
db_query("UPDATE ".PRODUCTS_OPTIONS_SET_TABLE." SET qty = qty - ".(int)$item["Quantity"]." WHERE productID=".(int)$pr[0]." AND variantID=".(int)$item["variantID"] );
$in_stock = db_fetch_row(db_query("SELECT SUM(qty) FROM ".PRODUCTS_OPTIONS_SET_TABLE." WHERE productID=".(int)$pr[0]));
db_query("UPDATE ".PRODUCTS_TABLE." SET in_stock=".(int)$in_stock[0]." WHERE productID=".(int)$pr[0]);
# BEGIN email-on-qty-patch
if (CONF_NOTIFY_STOCKADMIN)
{
$qty = db_fetch_assoc(db_query("SELECT qty FROM ".PRODUCTS_OPTIONS_SET_TABLE." WHERE productID=".(int)$pr[0]." AND variantID=".(int)$item["variantID"]));
if ($qty['qty'] < 1)
{
$name = db_fetch_row(db_query("SELECT option_value FROM ".PRODUCTS_OPTIONS_VALUES_VARIANTS_TABLE." WHERE variantID=".(int)$item["variantID"]));
$smarty_mail->assign( "option_value", $name["option_value"] );
$productsta = db_fetch_row(db_query("SELECT name FROM ".PRODUCTS_TABLE." WHERE productID=".(int)$pr[0]));
$smarty_mail->assign( "productstaname", $productsta["name"] );
$smarty_mail->assign( "productstid", $pr[0] );
$stockadmin = $smarty_mail->fetch( "notify_stockadmin.tpl.html" );
xMailTxtHTMLDATA(CONF_ORDERS_EMAIL,CUSTOMER_ACTIVATE_99,$stockadmin);
}
}
# END email-on-qty-patch
}
else
#END Учет количества товара по дополнительным характеристикам



8. в файле order_status_functions.php в функции _changeIn_stock

8.1. вместо строки


$q = db_query( "select itemID, Quantity from ".ORDERED_CARTS_TABLE.


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
#$q = db_query( "select itemID, Quantity from ".ORDERED_CARTS_TABLE.
$q = db_query( "select itemID, Quantity, variantID from ".ORDERED_CARTS_TABLE.
#END Учет количества товара по дополнительным характеристикам


8.2. перед строкой


db_query( "update ".PRODUCTS_TABLE." set in_stock=in_stock + ".(int)$Quantity.


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
if(cisfo($product['productID']))
{
db_query("UPDATE ".PRODUCTS_OPTIONS_SET_TABLE." SET qty = qty + ".(int)$Quantity." WHERE productID=".(int)$product["productID"]." AND variantID=".(int)$item["variantID"] );
$in_stock = db_fetch_row(db_query("SELECT SUM(qty) FROM ".PRODUCTS_OPTIONS_SET_TABLE." WHERE productID=".(int)$product["productID"]));
db_query("UPDATE ".PRODUCTS_TABLE." SET in_stock=".(int)$in_stock[0]." WHERE productID=".(int)$product["productID"]);
}
else
#END Учет количества товара по дополнительным характеристикам


8.3. перед строкой


db_query( "update ".PRODUCTS_TABLE." set in_stock=in_stock - ".(int)$Quantity.


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
if(cisfo($product['productID']))
{
db_query("UPDATE ".PRODUCTS_OPTIONS_SET_TABLE." SET qty = qty - ".(int)$Quantity." WHERE productID=".(int)$product["productID"]." AND variantID=".(int)$item["variantID"] );
$in_stock = db_fetch_row(db_query("SELECT SUM(qty) FROM ".PRODUCTS_OPTIONS_SET_TABLE." WHERE productID=".(int)$product["productID"]));
db_query("UPDATE ".PRODUCTS_TABLE." SET in_stock=".(int)$in_stock[0]." WHERE productID=".(int)$product["productID"]);
}
else
#END Учет количества товара по дополнительным характеристикам



9. в файле product_functions.php

9.1. в функции UpdateProduct перед строкой


db_query("delete from ".CATEGORIY_PRODUCT_TABLE." where productID = ".(int)$productID." and categoryID = ".(int)$categoryID);


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
if(cisfo($productID))
{
$in_stock = db_fetch_row(db_query("SELECT SUM(`qty`) FROM ".PRODUCTS_OPTIONS_SET_TABLE." WHERE productID=".(int)$productID));
db_query("UPDATE ".PRODUCTS_TABLE." SET in_stock=".(int)$in_stock[0]." WHERE productID=".(int)$productID);
}
#END Учет количества товара по дополнительным характеристикам


9.2. в функции GetExtraParametrs

9.2.1. вместо строки


$sql = 'select povvt.option_value, povvt.variantID, post.price_surplus


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
#$sql = 'select povvt.option_value, povvt.variantID, post.price_surplus
$sql = 'select povvt.option_value, povvt.variantID, post.price_surplus, post.qty


9.2.2. перед строкой


while( $_Rowue = db_fetch_assoc($q2) ){


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
$variant_count = 0;
#END Учет количества товара по дополнительным характеристикам


9.2.3. перед строкой


$_Row['values_to_select'][$i]['variantID']=$_Rowue['variantID'];


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
if($cisfo = cisfo($_Row['productID']))
{
$_Row['values_to_select'][$i]['qty'] = $_Rowue['qty'];
$variant_count += $_Rowue['qty'];
}
#END Учет количества товара по дополнительным характеристикам


9.2.4. перед строкой


$ProductsExtras[$_Row['productID']][] = $_Row;


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
if($cisfo) $_Row['values_to_select_variant_count'] = $variant_count;
#END Учет количества товара по дополнительным характеристикам


9.3. в функциях prdSearchProductByTemplateAdmin и prdSearchProductByTemplate вместо строки


" product_code, description, shipping_freight, viewed_times, min_order_amount from ".PRODUCTS_TABLE." ".


вставляем


#BEGIN Учет количества товара по дополнительным характеристикам
#" product_code, description, shipping_freight, viewed_times, min_order_amount from ".PRODUCTS_TABLE." ".
" product_code, description, shipping_freight, viewed_times, min_order_amount, check_in_stock_from_options from ".PRODUCTS_TABLE." ".
#END Учет количества товара по дополнительным характеристикам


10. в файле notify_stockadmin.tpl.html

после строки


{$productstaname}<br>


вставляем


{* BEGIN Учет количества товара по дополнительным характеристикам email-on-qty-patch *}
{if $option_value}({$option_value})<br>{/if}
{* END Учет количества товара по дополнительным характеристикам email-on-qty-patch *}



11. в файле product_brief.tpl.html

вместо строки




вставляем


{* BEGIN Учет количества товара по дополнительным характеристикам *}

{* штатное *}
{*<option value='{$product_info.product_extra[i].values_to_select[j].price_surplus}:{$product_info.product_extra[i].values_to_select[j].variantID}' {if $product_info.product_extra[i].values_to_select[j].variantID eq $product_info.product_extra[i].variantID}selected{/if}>{$product_info.product_extra[i].values_to_select[j].option_value}</option>*}

{* отсутствующий на складе вариант показывается, но задизаблен *}
{*<option value='{$product_info.product_extra[i].values_to_select[j].price_surplus}:{$product_info.product_extra[i].values_to_select[j].variantID}' {if $product_info.product_extra[i].values_to_select[j].variantID eq $product_info.product_extra[i].variantID}selected{/if}{if $product_info.product_extra[i].values_to_select[j].qty == '0'} disabled{/if}>{$product_info.product_extra[i].values_to_select[j].option_value}{if $product_info.product_extra[i].values_to_select[j].qty == '0'} (нет на складе){/if}</option>*}

{* отсутствующие на складе варианты не показываются, но если нет вообще ни одного варианта на складе, то показываются все *}
{if $product_info.product_extra[i].values_to_select[j].qty != '0' || $product_info.in_stock < 1}<option value='{$product_info.product_extra[i].values_to_select[j].price_surplus}:{$product_info.product_extra[i].values_to_select[j].variantID}' {if $product_info.product_extra[i].values_to_select[j].variantID eq $product_info.product_extra[i].variantID}selected{/if}>{$product_info.product_extra[i].values_to_select[j].option_value}</option>{/if}

{* END Учет количества товара по дополнительным характеристикам *}



12. в файле product_detailed.tpl.html

вместо строки


<option value='{$product_extra[i].values_to_select[j].price_surplus}:{$product_extra[i].values_to_select[j].variantID}' {if $product_extra[i].values_to_select[j].variantID eq $product_extra[i].variantID}selected{/if}>{$product_extra[i].values_to_select[j].option_value}</option>


вставляем


{* BEGIN Учет количества товара по дополнительным характеристикам *}

{* штатное *}
{*<option value='{$product_extra[i].values_to_select[j].price_surplus}:{$product_extra[i].values_to_select[j].variantID}' {if $product_extra[i].values_to_select[j].variantID eq $product_extra[i].variantID}selected{/if}>{$product_extra[i].values_to_select[j].option_value}</option>*}

{* отсутствующий на складе вариант показывается, но задизаблен *}
{*<option value='{$product_extra[i].values_to_select[j].price_surplus}:{$product_extra[i].values_to_select[j].variantID}' {if $product_extra[i].values_to_select[j].variantID eq $product_extra[i].variantID}selected{/if}{if $product_extra[i].values_to_select[j].qty == '0'} disabled{/if}>{$product_extra[i].values_to_select[j].option_value}{if $product_extra[i].values_to_select[j].qty == '0'} (нет на складе){/if}</option>*}

{* отсутствующие на складе варианты не показываются, но если нет вообще ни одного варианта на складе, то показываются все *}
{if $product_extra[i].values_to_select[j].qty != '0' || $product_info.in_stock < 1}<option value='{$product_extra[i].values_to_select[j].price_surplus}:{$product_extra[i].values_to_select[j].variantID}' {if $product_extra[i].values_to_select[j].variantID eq $product_extra[i].variantID}selected{/if}>{$product_extra[i].values_to_select[j].option_value}</option>{/if}

{* END Учет количества товара по дополнительным характеристикам *}


13. Заходим в админке в "Каталог товаров". При этом создадутся новые поля в таблицах, необходимые для работы модуля.

-------------

Прикрепленные файлы


  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#3 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 29 April 2014 - 02:17 PM

Йопть... Еще и фильтр некорректно работает для товаров, у которых снята галка УчДХ. Поправил. В шапке тоже.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#4 makki

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 148 сообщений
Репутация: 7
Начинающий

Отправлено 21 March 2015 - 09:14 AM

Чем отличается эта инструкция от инструкции в этой ветке?
  • 0

#5 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 21 March 2015 - 11:43 AM

Чем отличается эта инструкция от инструкции в этой ветке?

Ничем кроме даты. Скорее всего, я забыл, что в апреле 2014 создал отдельную тему с инструкцией и в ноябре 2014 выложил эту же инструкцию в более старой теме. Возможно, в ней за эти полгода появились еще какие-то исправления. Так что если интерес не теоретический, то логичнее брать инструкцию от ноября. Но лучше не использовать этот модуль вообще, в нем есть принципиальные косяки и использующий должен четко понимать накладываемые модулем ограничения.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#6 kery

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 134 сообщений
Репутация: 17
Начинающий

Отправлено 19 January 2016 - 01:45 PM

Ошибку выдает при оформлении заказа в статистике ошибок, что неверный синтаксис запроса к базе, сам запрос в файле cisfo_functions.php имеит правильный синтаксис значит еще где то ошибка в этом модуле и переменная $productID пустая
ERROR: 1064:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 1' at line 1
Sql: SELECT check_in_stock_from_options FROM zak_products WHERE productID= LIMIT 1

  • 0