Минимальный остаток товаров на складе

Тема в разделе "Управление товарами, атрибутами, свойствами и цена", создана пользователем The Noir, 18.12.2013.

  1. The Noir
    Offline

    The Noir Погладь!

    Регистрация:
    01.08.2012
    Сообщения:
    102
    Симпатии:
    8
    Пол:
    Мужской
    :hunter: Доброго времени комрады. Давненько меня тут не было)

    Собственно, встал вопрос. Ищу сейчас плагин, который позволял бы в отдельной графе просматривать количество товаров, которые подходят к концу, примерно по такой схеме:

    1) Товар *Игрушка 1*
    2) Товар *Игрушка 2*
    3) Товар *Игрушка 3*
    4) Товар *Игрушка 4*

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

    1) *игрушка 1* = минимальный остаток 10
    2) *Игрушка 2* = минимальный остаток 99
    3) *Игрушка 3* = минимальный остаток 5
    4) *Игрушка 4* = минимальный остаток 140

    Допустим, позиция 2 и 4 достигли минимального остатка, и уже идут к концу. Плагин выдает мне отчет:

    1) Позиция 2, актуальный остаток = 58, минимальный остаток 99.
    2) Позиция 4, актуальный остаток = 102, минимальный остаток 140.


    При этом отчет не затрагивает позиции, которых на складе еще хватает, и которые минимального остатка не достигли (к примеру для позиции 1 на складе осталось еще 20, для позиции 3 осталось еще 7)



    Существует ли в природе такой плагин, или хотя бы что то близкое к тому, что я сейчас назвал?
    Очень надеюсь на вашу помощь, если не успею до НГ реализовать обозначенное, начальство сделает мне +{:)
     
  2.  
  3. The Noir
    Offline

    The Noir Погладь!

    Регистрация:
    01.08.2012
    Сообщения:
    102
    Симпатии:
    8
    Пол:
    Мужской
    Знатоки - ткните пожалуйста носом хоть во что нибудь подобное. Все пальцы об клаву стер а время поджимает
     
  4. shurikkan
    Offline

    shurikkan Russian Joomla! Team Команда форума

    Регистрация:
    01.09.2011
    Сообщения:
    1 856
    Симпатии:
    162
    Пол:
    Мужской
    Помог бы, но тут VM1.1.*, на сколько я понимаю (J1.5).

    Смотрите, можно сделать это через компонент:
    1. Скачайте "болванку" компонента, без структуры MVC, самую простую (у меня есть пустые расширения только для J2.5 и J3).
    2. Устанавливаете болванку компонента через Менеджер расширений
    3. Вам нужна страница компонента из папки administrator/com_{название}/index.php
    4. Открываете страницу в любом удобном редакторе (Notepad++...)
    5. Далее нам нужно сделать выборку из базы данных, в которой сопоставить по ID товара его название и количество на складе
    Для безопасной работы с базой данных в Joomla есть свой, можно сказать, паттерн, основанный на классе JFactory - JFactory::getDbo()

    ID товара и его название:
    Таблица #__virtuemart_products_ru_ru
    Поля virtuemart_product_id и product_name соответственно

    ID товара и кол-во товара на складе:
    Таблица #__virtuemart_products
    Поля virtuemart_product_id и product_in_stock соответственно

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

    Для Virtuemart 2 файл administrator/com_{название}/index.php будет иметь такой вид:
    Код (PHP):
    1. <?php
    2.  
    3. defined('_JEXEC') or die;
    4.  
    5. $db = JFactory::getDbo();
    6. $query = $db->getQuery(true);
    7. $query->select('a.virtuemart_product_id, a.product_in_stock, b.product_name');
    8. $query->from('#__virtuemart_products AS a');
    9. $query->join('INNER', '#__virtuemart_products_ru_ru AS b ON (a.virtuemart_product_id = b.virtuemart_product_id)');
    10. $query->order('a.virtuemart_product_id');
    11. $db->setQuery($query);
    12. $list = $db->loadObjectList();
    13.  
    14. ?>
    15.  
    16. <table>
    17.     <tr>
    18.         <th class="product_name">Название товара</th>
    19.         <th class="product_in_stock">Остаток на складе, шт.</th>
    20.     </tr>
    21.     <?php
    22.     foreach($list as $item) {
    23.         echo "<tr>";
    24.         echo "<td>".$item->product_name."</td>";
    25.         echo "<td>".$item->product_in_stock."</td>";
    26.         echo "</tr>";
    27.     }
    28.     ?>
    29. </table>


    У Virtuemart 1.1.* структура таблиц другая, но суть не меняется - выбираем колонки имя и кол-во на складе, сопоставляя товары из разных таблиц по их ID.

    Немного терпения и всё получится! Почитайте статьи о создании компонентов для Joomla, как парвило, к таким статьям прикрепляют установочные файлы разработанного в процессе описания примера компонента.
     
    Последнее редактирование модератором: 31.03.2014

Поделиться этой страницей

Загрузка...