Цифровые уникальные товары

Тема в разделе "Shop-script", создана пользователем Plushev, 5 май 2009.

Статус темы:
Закрыта.
  1. Plushev

    Plushev Постоялец

    Регистр.:
    28 июл 2008
    Сообщения:
    57
    Симпатии:
    3
    Приветствую всех Уважаемых специалистов!

    Вопрос в следующем: на WebAsyst Shop Script реализуется магазин цифровых уникальных товаров, т.е. каждый из представленных товаров существует в единственном экземпляре и купить его может только один человек с оплатой электронными деньгами (соответственно, на емэйл покупатель получает ссылку для скачивания товара). Как сделать, чтобы сразу после оплаты купленный товар автоматически снимался с продажи в магазине? То есть, по простому, больше не отображался и не продавался
     
  2. Voshal

    Voshal Мизантроп

    Регистр.:
    30 мар 2009
    Сообщения:
    286
    Симпатии:
    108
    Способ 1:
    1. Каждому товару указать количество товаров на складе 1.
    2. И затем каждый вечер удалять товары, которых нет на складе.

    Способ 2
    1. Каждому товару указать количество товаров на складе 1.
    2. Внести изменения в код, чтобы товары, которых нет на складе, не отображались в магазине.
     
  3. Plushev

    Plushev Постоялец

    Регистр.:
    28 июл 2008
    Сообщения:
    57
    Симпатии:
    3
    Способ 1 - сейчас так и есть, хочется автоматизировать. О чем и вопрос.

    Способ 2 - это именно то, о чем я прошу помощи. В какие именно файлы и какие изменения внести? Все мои попытки пока завершились неудачей.

    В любом случае - спасибо :)
     
  4. Voshal

    Voshal Мизантроп

    Регистр.:
    30 мар 2009
    Сообщения:
    286
    Симпатии:
    108
    Откройте файл published\SC\html\scripts\core_functions\ product_functions.php

    Замените строку
    Код:
    $dbq = 'SELECT p.*, '.LanguagesManager::sql_constractSortField(PRODUCTS_TABLE, $sort_field).' FROM '.PRODUCTS_TABLE.' p '.$left_join.$where_clause.$group_by.' '.$order_by_clause.$limit;
    на
    Код:
    $dbq = 'SELECT p.*, '.LanguagesManager::sql_constractSortField(PRODUCTS_TABLE, $sort_field).' FROM '.PRODUCTS_TABLE.' p '.$left_join.$where_clause.' AND in_stock>0 '.$group_by.' '.$order_by_clause.$limit;
    Минус метода в том, что товары, которых нет на складе, так же не отображаются в админке, хотя количество товаров отображается правильно.
     
  5. Plushev

    Plushev Постоялец

    Регистр.:
    28 июл 2008
    Сообщения:
    57
    Симпатии:
    3
    Да, это работает, спасибо. Но у меня почему-то количество товаров на главной странице и в админке показывается с учетом этих неотображаемых товаров. То есть все продано, в разделе пусто, а кол-во товаров в скобках рядом с категорией остается прежним...

    А то, что в админке эти товары также не отбражаеются - это терпимо - в отчете по проданным продуктам эти товары есть.
     
  6. gosuwar

    gosuwar Постоялец

    Регистр.:
    26 июн 2008
    Сообщения:
    90
    Симпатии:
    7
    Моя темка http://www.nulled.ws/showthread.php?t=112122
    В ней написано, как это сделать лучше и проще всего.
     
Статус темы:
Закрыта.