[Помощь] Вопросик к знатокам!

Тема в разделе "Shop-script", создана пользователем baltazor-vova, 31 май 2010.

Статус темы:
Закрыта.
  1. baltazor-vova

    baltazor-vova Постоялец

    Регистр.:
    4 авг 2009
    Сообщения:
    79
    Симпатии:
    18
    Здравствуйте у меня к Вам вопрос такого характера:

    Как можно создать запрос к БД на "Удаление товаров, которого нет в наличии на протяжении определенного времени" Например в периоде от 2 до 12 месяцев! Старых товаров уж слишком много, есть которых уже реально не выпускают производители, а категорий еще больше, чтобы удалять это все вручную! Заранее благодарен.:bc:
     
  2. Welho®

    Welho® Предвестник пьянки

    Регистр.:
    4 дек 2007
    Сообщения:
    855
    Симпатии:
    330
    поскольку в SS не ведутся записи с датами когда товар пропал со склада - то никак это не сделать
    теоретически можно попробовать реализовать по такому алгоритму:
    если товара нет на складе и редактировался он более XX времени назад(дата последнего редактирования в таблицу пишется), то удалять его нахрен
    но тут может быть загвоздка, если у тебя товар кончился "естественным путем", а не в следствии того что ты сам обнулил его количество на складе редактированием, то тут уже не прокатит вышеописанное
     
  3. baltazor-vova

    baltazor-vova Постоялец

    Регистр.:
    4 авг 2009
    Сообщения:
    79
    Симпатии:
    18
    Я понял Вас! Идея немножко стремная, например у меня откл. учет товаров, то есть от поставщика я получаю виртуальное количество товаров.

    Если на сколько Я Вас правильно понял в запись идет только дата добавления товара и его изменения, это учитывая импорт, если в прайсе поставщика его нет, в админке мы видим только его дату последнего добавления и изминения.

    В принципе зацепиться есть за что...! Вот только на сколько я понимаю одним запросом к БД не обойтись, надо наверное скрипт писать...

    А если скажем так 2-й вариант: перенести как-то те товары, которые не изменялись и не добавлялись(обновлялись)определенное количество времени (типа архива) в отдельную табл БД.
     
  4. Welho®

    Welho® Предвестник пьянки

    Регистр.:
    4 дек 2007
    Сообщения:
    855
    Симпатии:
    330
    перенести можно, даже наверное разумнее было перенести все это "добро" в корень, оттуда он показываться не будет, по идее это простой скрипт с изменением принадлежности категории по заранее определенным признакам, 5 строк и на cron повесить с интервалом запуска раз в сутки )))
     
    baltazor-vova нравится это.
  5. baltazor-vova

    baltazor-vova Постоялец

    Регистр.:
    4 авг 2009
    Сообщения:
    79
    Симпатии:
    18
    Спс! Тему можно удалять (закрывать)
     
  6. k4m1k4dz3

    k4m1k4dz3 Писатель

    Регистр.:
    31 мар 2008
    Сообщения:
    2
    Симпатии:
    0
    мне в своё время приходилось вручную чистить товары... долго, но без боков... хорошо если бы модуль какой-нибудь по сортировке был...
     
  7. baltazor-vova

    baltazor-vova Постоялец

    Регистр.:
    4 авг 2009
    Сообщения:
    79
    Симпатии:
    18
    Вот решение:

    1) Если вы устанавливали себе модуль "Управление видимостью товара" и обновляете прайс-лист з такими к БД запросом:
    UPDATE `SS_products` SET `in_stock`=0 (все товары = 0 кол)
    UPDATE `SS_products` SET `enabled`=0 (все товары откл.)
    Таким образом у Вас при обновление прайс-листа откл. товары которых нет в уже реале в наличии. Снова же если у Вас есть модуль "Управление видимостью товара"

    2) В течении месяца пользуйтесь только таким запросом
    UPDATE `SS_products` SET `in_stock`=0 (все товары = 0 кол)

    3) Через месяц выполните такой запрос
    DELETE FROM `SS_products` WHERE `enabled`=0


    *** Когда Вы впервые выполните запрос UPDATE `SS_products` SET `enabled`=0 (все товары откл.) Вы просто на время откл товары которые будут показаны на сайте а каждый день пользуйтесь UPDATE `SS_products` SET `in_stock`=0 (все товары = 0 кол)

    * DELETE FROM `SS_products` WHERE `enabled`=0 (если в течении месяца товары которые были откл, то есть они не обновлялись у поставщика количеством просто напросто удаляються)

    ** Почему в течении месяца, потому что если Вы будите выполнять этот запрос каждый день *DELETE FROM `SS_products` WHERE `enabled`=0 есть вероятность того что вы удалите и те товары которые могут у поставщика уже завтра появиться.


    на первый взгляд замутка но она у меня занимает 2 мин, зато вся точная инфа о количестве присутствии на сйте точна на 99%
     
Статус темы:
Закрыта.