wcp 11 Опубликовано 15 июня, 2012 Жалоба Share Опубликовано 15 июня, 2012 До обновления движка у меня было найденное где-то решение, когда код товара автоматически увеличивался на 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> Добавляю новый товар - он выводится без кода, т.е. метка ничего не отображает и в поле "код товара" в админке - пусто. На тех товарах, где код был присвоен автоматом до обновления движка - там все осталось. Новым не присваивается. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 16 июня, 2012 Жалоба Share Опубликовано 16 июня, 2012 Код товара (артикул) по умолчанию сам не присваивается и не увеличивается по умолчанию. Это нужно самому вводить его. Либо разве что вспоминать, что правили и переносить этот свой код в новые файлы. Ссылка на сообщение Поделиться на другие сайты
wcp 11 Опубликовано 16 июня, 2012 Автор Жалоба Share Опубликовано 16 июня, 2012 Я б не стал спрашивать, если б у меня это не работало раньше ) Вот не помню, откуда брал решение (( а оно сейчас так нужно Нашел! Простой способ добавить автоматический артикул товара. Такой артикул легко находится обычным поиском по сайту. Артикул будем формировать как 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, '', ' ')); Всё. Готово. Ссылка на сообщение Поделиться на другие сайты
wcp 11 Опубликовано 16 июня, 2012 Автор Жалоба Share Опубликовано 16 июня, 2012 Правда в 1.67 уже нет запроса vam_db_query("UPDATE ".TABLE_PRODUCTS." SET products_model = '".$new_artikul."' WHERE products_id = '".$dup_products_id."'");[/CODE][/font][/color] Ссылка на сообщение Поделиться на другие сайты
wcp 11 Опубликовано 16 июня, 2012 Автор Жалоба Share Опубликовано 16 июня, 2012 После этого товары, у которых не заполнено поле "код", нужно просто пересохранить и все будет работать. Тему можно в полезное, пригодится многим имхо upd забыл дописать: можно было конечно и {$PRODUCTS_ID} использовать - оригинальный номер товара, но в этом случае нельзя искать товар по номеру, пришлось бы ковырять поиск. А по {$PRODUCTS_MODEL} великолепно ищется. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения