Перейти к содержанию
sikoko

Модуль Обновления Цен

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

На базе модуля import/export из xls написал модуль обновления цен.

В процессе обновления выводит экселевский файлик со списком новых, не найденных в базе, товаров.

Работает на ocStore 0.1.5.

Требования к XLS файлу:

1.Один лист.

2.Структура:

1. модель,

2. наименование (что угодно, не используется),

3. наличие ("+" - есть в наличии, иначе - нет), !!!!!

4. стоимость для учета товара (по желанию),

5. цена для покупателей.

По поводу наличия: делал для себя. если "+" то выставляется количество товара 1000 и "Есть в наличии", иначе количество 0 и состояние на складе "под заказ". В readme более подробно.

ID - Состояние на складе: 1-"В наличии", 2-"Нет в наличии", 3-"2-3 дня", 4-"Под заказ"

Копируем Upload. замен файлов не должно быть. (разве что уже установлен import/export xls, тогда просто заменяем).

Дальше ручками:

1. В admin\language\russian\common\header.php добавляем:

$_['text_updprice']          = 'Обновление прайса';

2. В admin\view\template\common\header.tpl ищем:

<li><a href="<?php echo $error_log; ?>"><?php echo $text_error_log; ?></a></li>
Ниже вставляем:

<li><a href="<?php echo $updprice; ?>"><?php echo $text_updprice; ?></a></li>
3. В admin\controller\common\header.php где-то в 20ю строку добавляем:

$this->data['text_updprice'] = $this->language->get('text_updprice');

Где-то в 90ю строку добавляем:

$this->data['updprice'] = HTTPS_SERVER . 'index.php?route=tool/updprice&token=' . $this->session->data['token'];

Обязательно сделать бекап базы!!!

Особая благодарность за помощь afwollis

ocStore_0.1.x_update_price_v.1.1_ru.zip

Изменено пользователем sikoko

Поделиться сообщением


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

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

Чтоб не задваивал и так далее.

Поделиться сообщением


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

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

Чтоб не задваивал и так далее.

Собираюсь сделать так: существующие в базе товары обновляются, а не найденные после обновления выгружаются в отдельный xls. потом их можно будет добавить через импорт-экспорт в нужные категории.

За выходные постараюсь доделать.

Поделиться сообщением


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

В общем у меня "тупик коммунизма".

Не могу корректно сравнить данные из базы и из xls файла.

$query  = "SELECT `model` FROM `".DB_PREFIX."product` WHERE `model` = '$model' ;";
$result = $database->query( $query );

if (mysql_num_rows($result)!=0) {
....

В результате 0 строк. Что-то с кодировками, не могу разобраться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
$query  = "SELECT `model` FROM `".DB_PREFIX."product` WHERE `model` = '".$model."' ";

Поделиться сообщением


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

$query  = "SELECT `model` FROM `".DB_PREFIX."product` WHERE `model` = '".$model."' ";
Не помогло :(

Поделиться сообщением


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

//поиск выбранной model в базе
$query = "SELECT p.`product_id` FROM `".DB_PREFIX."product` p WHERE p.`model` = '".$model."' ";
$result = $database->query( $query );

if ($result->num_rows > 0) { //если есть результат

посмотрел в файл - мдаааааа... :)

без ста грамм не разобраться...

скинь весь архив, над которым сейчас работаешь и "тестовый" файл прайса.

помогу до ума довести.

Изменено пользователем afwollis
  • +1 1

Поделиться сообщением


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

Все исправлено и обновлено в первом посте.

Поделиться сообщением


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

Хорошо бы еще сделать выгрузку имеющегося прайса!

Поделиться сообщением


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

Хорошо бы еще сделать выгрузку имеющегося прайса!

Это в планах. Только не из админки. Отдельным пунктом в меню.

Поделиться сообщением


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

sikoko, а почему бы и нет?

если не горит - через пару дней смогу помочь

Поделиться сообщением


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

Товарищи помогите!! Установил модуль экспорта-импорта, потом обновления цен. экспорт-импорт работает корректно. а обновление цен работает, только в админке цены и товары обновляются, а на сайте при открытии категории где обновлялось пишет

Notice: Undefined variable: text_error in /catalog/view/theme/green/template/product/category.tpl on line 22

Хелп ме плиз. Нада сайт запускать а не доработанный не хочется...

Изменено пользователем afwollis
убрал ошибку в CODE

Поделиться сообщением


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

Notice: Undefined variable: text_error in /catalog/view/theme/green/template/product/category.tpl on line 22
глючность обработки результатов выборки товаров по категории.

эта ошибка говорит о том, что для данной категории товары не найдены.

Поделиться сообщением


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

Notice: Undefined variable: text_error in /catalog/view/theme/green/template/product/category.tpl on line 22
глючность обработки результатов выборки товаров по категории.

эта ошибка говорит о том, что для данной категории товары не найдены.

Я понял.. только а админке товары есть и относятся к этой категории, но не отображаются в этой категории... однако если пересохранить товар предварительно щелкнув по это же категории то товар начинает отображаться... не подскажешь где дальше капать?... (сэнк)

Поделиться сообщением


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

требования соблюдены (особенно красное)?

Требования к XLS файлу:

1.Один лист.

2.Структура:

1. модель,

2. наименование (что угодно, не используется),

3. наличие ("+" - есть в наличии, иначе - нет), !!!!!

4. стоимость для учета товара (по желанию),

5. цена для покупателей.

Поделиться сообщением


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

требования соблюдены (особенно красное)?

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

Поделиться сообщением


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

вспомнил!

это косяк движка.

модуль ставит товарам ТЫСЯЧУ в количество.

магазин ТАКИЕ товары не показывает.

Поделиться сообщением


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

вспомнил!

это косяк движка.

модуль ставит товарам ТЫСЯЧУ в количество.

магазин ТАКИЕ товары не показывает.

Все разобрался!! в \admin\model\tool\updprice.php в строке if ($status=="+") {$quantity=1000; $stock_status_id=1;} а "stock_status_id=1"- у меня соответствует "нет на складе" вот мод и загонял товар минус )

afwollis спасибо за помощь!

Поделиться сообщением


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

в

\admin\model\tool\updprice.php
по мне так удобее будет

//тут я нашаманил под свои потребности 
			//если статус в прайсе "+", то количество товара 1000 и состояние на складе 1 (у меня соответствует В наличии)
			if ($status > 0) {$quantity=$status; $stock_status_id=7;} 
			//иначе количество 0 и "Под заказ"
			else {$quantity=0; $stock_status_id=5; } 
//шаманство закончилось
и не будет косяков с движком. ставим нужное количество товаров на складе сразу.

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

Поделиться сообщением


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

...чтобы количество плюсовалось к тому что уже есть...

как-то так:

$sql = "... `quantity` = (`quantity` + ".$qty.") ...";

Поделиться сообщением


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

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

Поделиться сообщением


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

подскажите в этом модуле или в самом движке магазина функцию извлечения данных из результата $database->query(). Чего то совсем торможу. mysql_fetch_array($result); не работает.. или просто лыжи у меня не едут. :(

___

вопрос отпал - лыжи поехали

$result->row['manufacturer_id'];

Поделиться сообщением


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

в общем набросал на скорую руку... изменения коснулись процедуры обновления прайса и добавил функцию добавления списка. кретерии к структуре экселевского файла малость изменены:

1.Один лист.

2.Структура:

1. модель,

2. наименование (Наименование теперь учитывается, при добавлени нового товара.),

3. наличие (ставим количество добавляемого товара. товар плюсуется к уже имеющемуся количеству),

4. стоимость для учета товара (по желанию),

5. цена для покупателей.

6. производитель

7. id магазина куда добавляется товар.

8. id категории куда добавляется товар.

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

копируем его:

admin\model\tool\
ЗЫ если что, не сильно пинайте, но надеюсь доработки пригодятся.

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

updprice.php

Поделиться сообщением


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

Hellp а как узнать id магазина id категории а то прайс заливается и в ручную приходиться присваивать товар категории

покажите пример хотябы!зарание спс

post-7751-0-07002600-1302879612_thumb.jpg

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.