Перейти к содержанию
Форум поддержки пользователей VamShop

Автоматическое увеличение кода товара


Рекомендуемые сообщения

До обновления движка у меня было найденное где-то решение, когда код товара автоматически увеличивался на 1 при добавлении нового товара. Обновился - и код перестал присваиваться :(

В /module/product_listing/product_listing_columns.html сейчас прописан вывод кода:

<a href="{$module_data.PRODUCTS_LINK}">{$module_data.PRODUCTS_NAME}</a>


<br />{if $module_data.PRODUCTS_MODEL!=''}(#{$module_data.PRODUCTS_MODEL}){/if}[/CODE] И в /module/product_info/product_info_v1.html тоже есть метка:
[CODE]
<h1 class="contentBoxHeading" style="color: orange;">{$PRODUCTS_NAME}
{if $PRODUCTS_MODEL!=''}({#model#} {$PRODUCTS_MODEL}){/if}
</h1>

Добавляю новый товар - он выводится без кода, т.е. метка ничего не отображает и в поле "код товара" в админке - пусто.

На тех товарах, где код был присвоен автоматом до обновления движка - там все осталось. Новым не присваивается.

Ссылка на сообщение
Поделиться на другие сайты

Код товара (артикул) по умолчанию сам не присваивается и не увеличивается по умолчанию.

Это нужно самому вводить его.

Либо разве что вспоминать, что правили и переносить этот свой код в новые файлы.

Ссылка на сообщение
Поделиться на другие сайты

Я б не стал спрашивать, если б у меня это не работало раньше )

Вот не помню, откуда брал решение (( а оно сейчас так нужно

Нашел!

Простой способ добавить автоматический артикул товара. Такой артикул легко находится обычным поиском по сайту. Артикул будем формировать как ID товара.

Этапы:

1. в файле admin/includes/classes/categiries.php добавляем строку

ок. 600-й строки

if (!$products_id || $products_id == '') {

$new_pid_query = vam_db_query("SHOW TABLE STATUS LIKE '".TABLE_PRODUCTS."'");

$new_pid_query_values = vam_db_fetch_array($new_pid_query);

$products_id = $new_pid_query_values['Auto_increment'];

}

$sql_data_array['products_model'] = $products_id;

if (delete_images_from_db ($products_data, $products_id) > 0){

$image_to_delete = vam_array_merge( array($products_data['del_pic']), $products_data['del_mo_pic']);

delete_unused_image_files ($image_to_delete);

}

ок. 910-й строки

//get duplicate id

$dup_products_id = vam_db_insert_id();

$new_artikul = $dup_products_id;

vam_db_query("UPDATE ".TABLE_PRODUCTS." SET products_model = '".$new_artikul."' WHERE products_id = '".$dup_products_id."'");

//duplicate image if there is one

if ($product['products_image'] != '') { .....

2. Выполняем запрос к БД

update products set products_model = products_id

3. Чтобы лучше смотрелось вставляем пробел между знаками

Например, вместо 101024 будет 101 024

в файле includes/modules/produkt_info.php меняем строку

$info->assign('PRODUCTS_MODEL', number_format($product->data['products_model'], 0, '', ' '));

Всё. Готово.

Ссылка на сообщение
Поделиться на другие сайты

Правда в 1.67 уже нет запроса

vam_db_query("UPDATE ".TABLE_PRODUCTS." SET products_model = '".$new_artikul."' WHERE products_id = '".$dup_products_id."'");[/CODE]

[/font][/color]

Ссылка на сообщение
Поделиться на другие сайты

После этого товары, у которых не заполнено поле "код", нужно просто пересохранить и все будет работать.

Тему можно в полезное, пригодится многим имхо

upd забыл дописать: можно было конечно и {$PRODUCTS_ID} использовать - оригинальный номер товара, но в этом случае нельзя искать товар по номеру, пришлось бы ковырять поиск. А по {$PRODUCTS_MODEL} великолепно ищется.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...