файл product.product_form.php, меняем
$relProducts[$relProd] = $ps_product->get_field( $relProd, 'product_name');
на
$relProducts[$relProd] = $ps_product->get_field( $relProd, 'product_sku');
файл product.ajax_tools.php
меняем
$q = "SELECT SQL_CALC_FOUND_ROWS #__{vm}_product.product_id,category_name,product_name
на
$q = "SELECT SQL_CALC_FOUND_ROWS #__{vm}_product.product_id,category_name,product_sku
там же дальше по коду:
$q .= ' AND (product_name LIKE \'%'.$keyword.'%\'';
на
$q .= ' AND (product_sku LIKE \'%'.$keyword.'%\'';
и ещё чуть ниже:
$q .= ' ORDER BY category_name,#__{vm}_category.category_id,product_name';
на
$q .= ' ORDER BY category_name,#__{vm}_category.category_id,product_sku';
и дальше:
'product' => htmlspecialchars($db->f("product_name"))
на
'product' => htmlspecialchars($db->f("product_sku"))
В общем вот весь этот кусок:
case 'getproducts':
if(!defined('SERVICES_JSON_SLICE'))
require_once(CLASSPATH . 'JSON.php');
$db = new ps_DB;
$keyword = $db->getEscaped(vmGet( $_REQUEST, 'query' ));
$q = "SELECT SQL_CALC_FOUND_ROWS #__{vm}_product.product_id,category_name,product_name
FROM #__{vm}_product,#__{vm}_product_category_xref,#__{vm}_category ";
if( empty($_REQUEST['show_items']) ) {
$q .= "WHERE product_parent_id='0'
AND #__{vm}_product.product_id <> '$product_id'
AND #__{vm}_product.product_id=#__{vm}_product_category_xref.product_id
AND #__{vm}_product_category_xref.category_id=#__{vm}_category.category_id";
}
else {
$q .= "WHERE #__{vm}_product.product_id <> '$product_id'
AND #__{vm}_product.product_id=#__{vm}_product_category_xref.product_id
AND #__{vm}_product_category_xref.category_id=#__{vm}_category.category_id";
}
if( $keyword ) {
$q .= ' AND (product_name LIKE \'%'.$keyword.'%\'';
$q .= ' OR category_name LIKE \'%'.$keyword.'%\')';
}
$q .= ' ORDER BY category_name,#__{vm}_category.category_id,product_name';
$q .= ' LIMIT '.(int)$_REQUEST['start'].', '.(int)$_REQUEST['limit'];
$db->query( $q );
while( $db->next_record() ) {
$response['products'][] = array( 'product_id' => $db->f("product_id"),
'category' => htmlspecialchars($db->f("category_name")),
'product' => htmlspecialchars($db->f("product_name"))
);
}
$db->query('SELECT FOUND_ROWS() as num_rows');
$db->next_record();
$response['totalCount'] = $db->f('num_rows');
error_reporting(0);
while( @ob_end_clean() );
$json = new Services_JSON();
echo $json->encode( $response );
$vm_mainframe->close(true);
break;
Теперь поиск только по артикулу.. с выводом Категория/Артикул
Если покопать, можно и поиск по названию вклячить.
Дальше рыть не стал.. а надо бы минимальное ограничение символов снять хоть до 3...