Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: ANLEITUNG: Artikel mit Warenbestand 0 im Adminbereich anzeigen lassen

    Juan Carlos Silverio Gomez

    • Fördermitglied
    • Beiträge: 473
    • Geschlecht:
    Buenos noches, :-)

    habe zwar schon gesucht, aber nichts gefunden dazu (Ehrenwort). Ich suche eine möglichkeit im Adminbereich eine liste ausgeben zu lassen wo der artikelbestand 0 ist (oder den ganzen Warenbestand anzeigt von allen artikeln).

    Es könnte ja in Adminbereich  statistiken/verkaufte Artikel mit aufgeführt werden.
    Und noch eine Frage:  bei statistiken/verkaufte artike,l wenn man da auf ein Artikel klickt, wird man auf die kategorie/artikel menu geleitet. Kann man es so hinbiegen das wenn man klickt, das man in das jeweilige Artikel hingeführt wird um es unter umstaenden zu Bearbeiten?

    Lg, Juan Carlos

    [EDIT Tomcraft 25.09.2011: Hier geht es direkt zur Anleitung von h-h-h, erweitert von Ben.]
    [EDIT Tomcraft 26.01.2013: Hier geht es direkt zur Anleitung für Shopversion 1.06. Danke an Der_Micha.]

    Linkback: https://www.modified-shop.org/forum/index.php?topic=15603.0

    h-h-h

    • modified Team
    • Beiträge: 4.562
    /admin/includes/modules/categories_view.php

    Suche: (ca. Zeile 319)

    Code: PHP  [Auswählen]
    $products_count = 0;

    füge nach

    Code: PHP  [Auswählen]
    if ($_GET['search']) {

    dies ein

    Code: PHP  [Auswählen]
            if($_GET['search']=='noqty') $_GET['search'] = "' AND p.products_quantity LIKE '0";

    und vor dem nächstem

    Code: PHP  [Auswählen]
        } else {

    füge ein

    Code: PHP  [Auswählen]
            if($_GET['search']=="' AND p.products_quantity LIKE '0") $_GET['search'] ='noqty';

    Dann kannst Du in die Suche "noqty" eingeben und bekommst alle Produkte, mit einem Warenbestand 0 angezeigt. ;)

    Erweiterung:

    Wer die Abfrage in das Admin Menü einbauen möchte, hier eine Kurzanleitung:

    1. in Datei "/lang/german/admin/german.php" z.B. nach Zeile (ca. 116):

    Code: PHP  [Auswählen]
    define('BOX_PRODUCTS_EXPECTED', 'Erwartete Artikel');

    dies hier einfügen:

    Code: PHP  [Auswählen]
    define('BOX_PRODUCTS_NULLBESTAND', 'Artikel Bestand 0');

    2. in Datei "/admin/includes/application_top.php"

    ca. Zeile 111 nach:

    Code: PHP  [Auswählen]
    define('FILENAME_PRODUCTS_EXPECTED', 'products_expected.php');

    das hier einfügen:

    Code: PHP  [Auswählen]
    define('FILENAME_PRODUCTS_NULLBESTAND', 'categories.php?search=noqty');

    3. in Datei "/admin/includes/column_left.php" ca. Zeile 74 vor:

    Code: PHP  [Auswählen]
    echo ('</ul>');

    das hier einfügen:

    Code: PHP  [Auswählen]
    if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['products_expected'] == '1')) echo '<li><a href="' . xtc_href_link(FILENAME_PRODUCTS_NULLBESTAND, '', 'NONSSL') . '" class="menuBoxContentLink"> -' . BOX_PRODUCTS_NULLBESTAND . '</a></li>';

    Viel Spaß damit!

    Erweiterung: (Wenn nur aktive Produkte angezeigt werden sollen)

    Ich habe den Code etwas erweitert, damit nur aktive Produkte ohne Warenbestand angezeigt werden.
    Änderungen gibt es in Zeile 3 und 5:

    /admin/includes/modules/categories_view.php

    Suche: (ca. Zeile 319)

    Code: PHP  [Auswählen]
    $products_count = 0;

    füge nach

    Code: PHP  [Auswählen]
    if ($_GET['search']) {

    dies ein

    Code: PHP  [Auswählen]
            if($_GET['search']=='noqty') $_GET['search'] = "' AND  p.products_status !=0 AND p.products_quantity LIKE '0";

    und vor dem nächstem

    Code: PHP  [Auswählen]
        } else {

    füge ein

    Code: PHP  [Auswählen]
            if($_GET['search']=="' AND p.products_status !=0 AND p.products_quantity LIKE '0") $_GET['search'] ='noqty';

    Nun werden nur noch aktive Produkte ohne Warenbestand gelistet.

    Gruß
    Micha

    Zusatzerweiterung:

    Wenn ich einmal anfange... fällt mir immer etwas Neues ein...

    Ich habe es noch in das Übersichtsmenü des Admins eingebaut und mit der Suche verlinkt:

    (Dateianhang Link)

    Datei /admin/start.php öffnen:

    Suche:

    Code: PHP  [Auswählen]
    // products  
    $products_query = xtc_db_query('select
                      count(if(products_status = 0, products_id, null)) inactive_count,
                      count(if(products_status = 1, products_id, null)) active_count,
                      count(*) total_count
                      from '
    . TABLE_PRODUCTS);
    $products = xtc_db_fetch_array($products_query);

    Ersetze mit:

    Code: PHP  [Auswählen]
    // products  
    $products_query = xtc_db_query('select
                      count(if(products_status = 0, products_id, null)) inactive_count,
                      count(if(products_status = 1, products_id, null)) active_count,
                      count(if(products_quantity = 0 AND products_status !=0, products_id, null)) lowstock_count,
                      count(*) total_count
                      from '
    . TABLE_PRODUCTS);
    $products = xtc_db_fetch_array($products_query);

    Suche:

    Code: PHP  [Auswählen]
    <tr>
    <td style="background:#e4e4e4"><strong><?php echo TOTAL_SPECIALS; ?>:</strong></td>
    <td style="background:#e4e4e4"><?php echo $specials['specials_count']; ?></td>
    </tr>

    Dahinter einfügen:

    Code: PHP  [Auswählen]
    <tr>
    <td style="background:#e4e4e4"><a href="categories.php?search=nostock"><strong><?php echo TOTAL_PRODUCTS_LOWSTOCK; ?>:</strong></a></td>
    <td style="background:#e4e4e4"><?php echo $products['lowstock_count'] ?></td>
    </tr>

    Datei speichern.

    Datei /lang/german/admin/start.php öffnen:

    Suche:

    Code: PHP  [Auswählen]
    define('TOTAL_SPECIALS','Sonderangebote');

    Dahinter einfügen:

    Code: PHP  [Auswählen]
    define('TOTAL_PRODUCTS_LOWSTOCK','Artikel ohne Bestand');

    Datei speichern.

    Datei /lang/english/admin/start.php öffnen:

    Suche:

    Code: PHP  [Auswählen]
    define('TOTAL_SPECIALS','Specials');

    Dahinter einfügen:

    Code: PHP  [Auswählen]
    define('TOTAL_PRODUCTS_LOWSTOCK','Products with low stock');

    Datei schließen

    Das war's, nun habt ihr die Anzeige im Admin Überblick und ein Klick auf "Artikel ohne Bestand" führt dann die Suche aus und liefert Euch die Liste der Produkte.

    Bitte achtet darauf, das der Suchparameter bei mir nostock und nicht noqty heißt.
    Solltet ihr noqty nutzen, muss das oben im Code an einer Stelle geändert werden.

    Gruß
    Micha

    Gruß

    h-h-h

    [EDIT Tomcraft 25.09.2011: Anleitung in Beitrag 1 verlinkt.]
    [EDIT Tomcraft 05.10.2011: Anleitung erweitert, Danke an Ben.]
    [EDIT h-h-h 06.10.2011: Anleitung korrigiert.]
    [EDIT Tomcraft 10.01.2012: Anleitung erweitert, Danke an Der_Micha.]
    [EDIT Tomcraft 10.01.2012: Anleitung erweitert, Danke an Der_Micha.]

    Juan Carlos Silverio Gomez

    • Fördermitglied
    • Beiträge: 473
    • Geschlecht:
    nein, h-h-h war schnelle Antwort, aber da tut sich nichts...

    lg

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Also ich meine jetzt nicht die Frontend-Suche im Shop, sondern die im Adminbereich ganz oben.

    Gruß h-h-h

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
     :good:

    Interessante Lösung! :-)

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.367
    • Geschlecht:
    Danke dir für's Teilen der Lösung! :thx:

    Grüße

    Torsten

    Juan Carlos Silverio Gomez

    • Fördermitglied
    • Beiträge: 473
    • Geschlecht:
    ...auch ich habe es jetzt kapiert! ;-)

    Super! Vielen Dank!... was so ein kleiner Code alles anstellen kann... wow! Danke h-h-h.
    lg, juan carlos (der glückliche)...

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Danke für die Rückmeldung.
    War nach Deinen ersten Beitrag ein bisschen irritiert.
    Gruß h-h-h

    online-beobachter

    • Schreiberling
    • Beiträge: 417
    @h-h-h

    Auch Danke von mir für den Code.
    Kannst Du mir noch verraten wie man die Abfrage UND-verknüpft mit dem "products_fsk18".
    Hab jetzt einiges probiert auf gut Glück, klappt aber nicht...kommt immer nur eine Fehlermeldung

    Ausgabe also nur wenn FSK18=0 und Lagerbestand 0.  :-?

    Michael

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Hallo Michael,
    hier ist der gewünschte Code für Dich (noqty = Bestand 0 | noqty-fsk = Bestand0 & FSK nicht 1).

    Code: PHP  [Auswählen]
    if($_GET['search']=='noqty') $_GET['search'] = "' AND p.products_quantity LIKE '0";
    elseif($_GET['search']=='noqty-fsk') $_GET['search'] = "' AND p.products_fsk18!=1 AND p.products_quantity LIKE '0";

    Gruß h-h-h

    online-beobachter

    • Schreiberling
    • Beiträge: 417
    Funktioniert - DANKE  :mrgreen:

    Juan Carlos Silverio Gomez

    • Fördermitglied
    • Beiträge: 473
    • Geschlecht:
    Hallo nochmal h-h-h (oje, oje) :-)

    ...wenn ich "noqty" (ich habe es mit "nostock" ersetzt) eingebe und dann diese SUUUUPER Liste mit "nostock" Produkten aufgelistet bekomme, wäre es schön wenn da noch der Eingangsdatum (falls vorhanden) mitgelistet würde. Es würde mir Ungemein die Arbeit erleichtern wenn gleich gesehen wird, auf welchem Tag der eingangs-Datum steht. Zur zeit ist es so, das ich jedes Produkt einzeln aufrufen muss.

    Lg, Juan Carlos

    Bcoola

    • Schreiberling
    • Beiträge: 412
    Danke für diese super Lösung.

    Ich habe noch eine Frage dazu... wenn ich die aufgelisteten Artikel bearbeiten möchte, und dazu im Artikel in der Liste auf das Symbol klicke (in der Spalte Aktion) dann wird mir eine leere Ansicht geliefert, da in der URL dann folgendes steht:

    meinedomain.de/admin/categories.php?search=' AND p.products_quantity LIKE '0&cPath=52&pID=161

    Wenn ich dann manuell das hier ' AND p.products_quantity LIKE ' entferne, wird der Artikel in der richtigen Kategorie aufgerufen.

    Kann man diesen Teil der Abfrage beim bzw. vor dem Zusammenbauen des Links wieder entfernen?

    Danke!

    Bcoola

    • Schreiberling
    • Beiträge: 412
    Wer die Abfrage in das Admin Menü einbauen möchte, hier eine Kurzanleitung:

    1. in Datei "/lang/german/admin/german.php" z.B. nach Zeile (ca. 116):

    Code: PHP  [Auswählen]
    define('BOX_PRODUCTS_EXPECTED', 'Erwartete Artikel');

    dies hier einfügen:

    Code: PHP  [Auswählen]
    define('BOX_PRODUCTS_NULLBESTAND', 'Artikel Bestand 0');

    2. in Datei "/admin/includes/application_top.php"

    ca. Zeile 111 nach:

    Code: PHP  [Auswählen]
    define('FILENAME_PRODUCTS_EXPECTED', 'products_expected.php');

    das hier einfügen:

    Code: PHP  [Auswählen]
    define('FILENAME_PRODUCTS_NULLBESTAND', 'categories.php?search=noqty');

    3. in Datei "/admin/includes/column_left.php" ca. Zeile 74 vor:

    Code: PHP  [Auswählen]
    echo ('</ul>');

    das hier einfügen:

    Code: PHP  [Auswählen]
    if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['products_expected'] == '1')) echo '<li><a href="' . xtc_href_link(FILENAME_PRODUCTS_NULLBESTAND, '', 'NONSSL') . '" class="menuBoxContentLink"> -' . BOX_PRODUCTS_NULLBESTAND . '</a></li>';

    Viel Spaß damit!

    [EDIT Tomcraft 05.10.2011: Erweiterung in Anleitung aufgenommen.]

    h-h-h

    • modified Team
    • Beiträge: 4.562
    [EDIT h-h-h 05.10.2011: Fehlerhaften Code entfernt! Korrigierte Anleitung in Beitrag 2 dieses Themas.]
               
    anything