Nicht mehr Lieferbare Artikel im Shop anzeigen

MyOOS hat einen Fehler, oder tut nicht das, was Ihr erwartet? Derartige "Unanehmlichkeiten" bitte hier.
Antworten
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Nicht mehr Lieferbare Artikel im Shop anzeigen

Beitrag von wolfschw »

[font='Calibri]Hallo Ralf, [/font]

[font='Calibri]ich such eine Möglichkeit im Shop Artikel anzeigen zu lassen, die nicht mehr Lieferbar sind.[/font]

[font='Calibri]Wenn man z.B. unter Produktstatus einen neuen Status anlegt mit "nicht mehr Lieferbar".[/font]

[font='Calibri]Diese Artikel sollten dann auch nicht kaufbar sein. [/font]

[font='Calibri]Hier sollte dann unter Produktinfo ein Hinweistext erscheinen wie z.B. "Dieser Artikel ist nicht mehr Lieferbar" und der Button "in den Korb" sollte ebenfalls verschwinden).[/font]

[font='Calibri]Des Weiteren sollten die Ampeln und der Lieferbarkeitstext unter Produktinfo und Produktlisting ebenfalls nicht auftauchen.[/font]

Läßt sich dieses umsetzen ?

[font='Calibri]gruß[/font]

[font='Calibri]Wolfgang[/font]
r23
Beiträge: 2623
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo Wollfgang,

du kannst relativ einfach auf den Produktstatus reagieren.

Zum Beipsiel

Code: Alles auswählen

if ($listing['products_status] == '3') {
      $lc_text .= '<p><span class="inStock"><strong>Sofort Lieferbar</strong></span>  <img src="images/icon/lieferbar.gif" alt="Sofort Lieferbar" width="16" height="16"></p>';
} else {
      $lc_text .= '<p><span class="outStock"><strong>Nicht am Lager, aber bald verfügbar.</strong></span>  <img src="himages/icon/bald_lieferbar.gif" alt="Nicht am Lager " width="16" height="16"><br>Bitte fragen Sie nach unserer Lieferzeit</p>';
}
Und im Warenkorb muss man prüfen, ob nur Produkte im Warenkorb sind, die auch wirklich lieferbar sind...

Code: Alles auswählen

    function cleanup() {

      // Get database information
      $dbconn =& oosDBGetConn();
      $oostable =& oosDBGetTables();

      if (DECIMAL_CART_QUANTITY == 'true') {
        $check_quantity = 0.01;
      } else {
        $check_quantity = 1;
      }

      reset($this->contents);
      while (list($key,) = each($this->contents)) {
	  
	    $nProductsId = oos_get_product_id($key);
        $productstable = $oostable['products];
        $check_status_sql = "SELECT products_id FROM $productstable WHERE products_status = '3' AND products_id = '" . intval($nProductsId) . "'";
        $check_status_result = $dbconn->Execute($check_status_sql);
	
        if (!$check_status_result->RecordCount()) {
            // product not found	  
            unset($this->contents[$key]);
            // remove from database
            if (isset($_SESSION['customer_id])) {
               $customers_baskettable = $oostable['customers_basket];
               $dbconn->Execute("DELETE FROM $customers_baskettable WHERE customers_id = '" . intval($_SESSION['customer_id]) . "' AND products_id = '" . oos_db_input($key) . "'");
               $customers_basket_attributestable = $oostable['customers_basket_attributes];
               $dbconn->Execute("DELETE FROM $customers_basket_attributestable WHERE customers_id = '" . intval($_SESSION['customer_id]) . "' AND products_id = '" . oos_db_input($key) . "'");
            }	  
	    } elseif ($this->contents[$key]['qty] < $check_quantity) {
            unset($this->contents[$key]);
            // remove from database
            if (isset($_SESSION['customer_id])) {
              $customers_baskettable = $oostable['customers_basket];
              $dbconn->Execute("DELETE FROM $customers_baskettable WHERE customers_id = '" . intval($_SESSION['customer_id]) . "' AND products_id = '" . oos_db_input($key) . "'");
              $customers_basket_attributestable = $oostable['customers_basket_attributes];
              $dbconn->Execute("DELETE FROM $customers_basket_attributestable WHERE customers_id = '" . intval($_SESSION['customer_id]) . "' AND products_id = '" . oos_db_input($key) . "'");
            }
        }
      }
    }

Auszug:

Code: Alles auswählen

$check_status_sql = "SELECT products_id FROM $productstable WHERE products_status = '3' AND products_id = '" . intval($nProductsId) . "'";
Hierbei sind nur noch Produkte mit dem Status 3 im warenkorb erlaub. Dies man man an seinen Shop eben anspassen...

Hoffe die Antwort hilft weiter?
Happy Halloween


Ralf
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Beitrag von wolfschw »

Ok,

ist doch ein großer Aufwand was mir persönlich zu hoch ist.

Was wäre dein Aufwand und Preis?

gruß

Wolfgang
r23
Beiträge: 2623
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

2-3 Stunden.

Des Weiteren sollten die Ampeln und der Lieferbarkeitstext unter Produktinfo und Produktlisting ebenfalls nicht auftauchen.


Wenn ich die Ample austausche soll benötige ich eine neue Grafik.

Aus optischen Gründen würde ich evtl. auf eine Amlel nicht verzichten - sondern eine ohne Farbe verwenden und diese Seite
http://www.jura-ersatzteile-shop.de/dow ... estand.htm
erweiteren.

Wenn gewünscht, den Text eneb senden und wenn möglich die grafik - Wenn nicht können wir die Grafik erstellen.
Maximal mit Datensicherung und allen Änderungen - auch erstellung der Grafik 4 Stunden.

Viele Grüße

Ralf
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Beitrag von wolfschw »

Ok,

dann erteile ich dir den Auftrag.

Werde dir eine Ampel z.B. mit 3 roten Punkten per Mail zukommen lassen.

Text soll lauten "Artikel nicht mehr Lieferbar"

Gruß

Wolfgang
r23
Beiträge: 2623
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

Danke für den Auftrag!

Viele Grüße

Ralf
Antworten