Ankündigung

Einklappen
Keine Ankündigung bisher.

MwSt - Satz anzeigen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    MwSt - Satz anzeigen

    Keine Ahnung ob ich hier richtig bin.
    Mache gerade erste Gehversuche mit Zen-Cart 1.3.7.

    Würde gerne beim Preis eines Artikels auch den MwSt. Satz anzeigen lassen.
    Das tax_addon 1.0 ist bereits drin.

    so dass dort nicht

    "inkl. MwSt. zzgl. Versandkosten"

    sondern
    "inkl. 19% MwSt. zzgl. Versandkosten"
    der Steuersatz, eben der, welcher für das Produkt festgelegt ist.

    #2
    hi...

    schau mal hier:
    includes/languages/german/extra_definitions/tax_display.php

    da kannst du den text anpassen

    Kommentar


      #3
      fein,
      woher nehm ich jetzt noch den Steuersatz für das Produkt?

      Kommentar


        #4
        Würde mich ja auch interessieren!

        Kommentar


          #5
          Den Steuersatz nimmst du per SQL Abfrage aus der Datenbank. Und wenn du es hinbekommen hast, dann bitte posten

          Ich selber hab irgendwann aufgegeben, ich finde nicht die richtige Abfrage :(

          Gruß
          MaleBorg

          Kommentar


            #6
            also eine SQL-Apfrage hab ich schonmal
            Code:
            SELECT *
            FROM zc137_tax_rates
            JOIN zc137_tax_class ON zc137_tax_rates.tax_class_id = zc137_tax_class.tax_class_id
            JOIN zc137_products ON zc137_products.products_tax_class_id = zc137_tax_class.tax_class_id
            WHERE zc137_products.products_id =1
            bzw.

            Code:
            SELECT zc137_tax_class.tax_class_title, zc137_tax_class.tax_class_description,
            zc137_tax_rates.tax_rate, 
            zc137_tax_rates.tax_description 
            FROM zc137_tax_rates 
            JOIN zc137_tax_class
            ON zc137_tax_rates.tax_class_id = zc137_tax_class.tax_class_id 
            JOIN zc137_products
            ON zc137_products.products_tax_class_id  = zc137_tax_class.tax_class_id 
            WHERE zc137_products.products_id = 1
            das Ergebniss schaut zumindest gut aus, nun wohin damit?
            Die Produkt-ID muss man ja auch irgendwoher nehmen.

            Kommentar


              #7
              Wo hast du denn die Abfrage gefunden?

              Wahrscheinlich gibt es eine Variable wie $product_id oder so ähnlich, die in dem WHERE-Teil eingefügt werden muss.

              Kommentar


                #8
                Zitat von Smartsoul
                Wo hast du denn die Abfrage gefunden?
                selbst gestrick anhand der Tabellen.

                Kommentar


                  #9
                  neuer Ansatz,
                  wenn ich in der Datei
                  includes/languages/german/extra_definitions/tax_display.php
                  im String einbaue:
                  zen_get_tax_rate(ID)

                  bekomme ich den Steuersatz für die ID.

                  Aber immernoch weiss ich nicht, woher ich die Passende ID für das Produkt bekomme.

                  Kommentar


                    #10
                    Es gibt eine Variable:

                    $_GET['products_id']

                    Zitat von CrazyStrump
                    zen_get_tax_rate(ID)
                    Wie hast du das in den String eingebunden? Kannst du die Zeile mal posten?

                    Kommentar


                      #11
                      hab für mich eine Lösung gefunden, mit einer eigenen Funktion.
                      diese sollte aber sicher nochmal überarbeitet werden, nur ein quick-and-dirty workaround.


                      includes/functions/function_taxes.php
                      hinten angehängt:

                      Code:
                        function zen_get_product_tax($prod_id,$cell="description", $country_id = -1, $zone_id = -1) 
                        {
                            global $db;
                      
                          /*
                      
                          if ( ($country_id == -1) && ($zone_id == -1) ) {
                      
                            if (isset($_SESSION['customer_id'])) {
                      
                              $country_id = $_SESSION['customer_country_id'];
                      
                              $zone_id = $_SESSION['customer_zone_id'];
                      
                            } else {
                      
                              $country_id = STORE_COUNTRY;
                      
                              $zone_id = STORE_ZONE;
                      
                            }
                      
                          }
                          */
                          # alternativ zen_get_tax_rate(ID) nutzen
                          
                           $tax_rate_query =	"SELECT " 
                           					. TABLE_TAX_RATES.".tax_rates_id,". TABLE_TAX_RATES.".tax_zone_id,". TABLE_TAX_RATES.".tax_rate,". TABLE_TAX_RATES.".tax_description, "        
                                        . TABLE_TAX_CLASS.".tax_class_id,". TABLE_TAX_CLASS .".tax_class_title,". TABLE_TAX_CLASS.".tax_class_description "     
                                        . "FROM " . TABLE_TAX_RATES . " "
                           				 	. "JOIN " . TABLE_TAX_CLASS . " "
                      					  	. "ON " . TABLE_TAX_RATES . ".tax_class_id = " . TABLE_TAX_CLASS . ".tax_class_id" . " "
                      						. "JOIN " . TABLE_PRODUCTS . " "
                      						. "ON " . TABLE_PRODUCTS . ".products_tax_class_id  = " . TABLE_TAX_CLASS . ".tax_class_id "
                      						. "WHERE " . TABLE_PRODUCTS . ".products_id = " . $prod_id  ;
                         
                       		$tax_rate = $db->Execute($tax_rate_query);   
                          
                          
                          switch($cell){
                          case 'tax_description':   
                          	$result = $tax_rate->fields['tax_description'];
                          	break;
                          case 'tax_rate':
                            $result = $tax_rate->fields['tax_rate'];
                          	break;
                          case 'rates_id':
                            $result = $tax_rate->fields['tax_rates_id'];
                          	break;
                          case 'zone_id':
                            $result = $tax_rate->fields['tax_zone_id'];
                          	break;
                          case 'class_id':
                            $result = $tax_rate->fields['tax_class_id'];
                          	break;
                      	 case 'tax_class_title':
                      	 	$result = $tax_rate->fields['tax_class_title'];
                          	break;
                      	 case 'tax_class_description':
                      	 	$result = $tax_rate->fields['tax_class_description'];
                          	break; 	
                          }
                            
                           return $result;
                          
                        }
                      in:
                      includes/languages/german/extra_definitions/tax_display.php
                      ruf ich diese so auf:

                      zen_get_product_tax($_GET['products_id'],tax_description)

                      Die Dateien für andere Sprachen müssten ebenfalls entsprechend angepasst werden.

                      Code:
                      <?php
                      
                      // Um die Anzeige zu deaktivieren bitte zwei // vor die jeweilige Zeile machen.
                      
                      
                      
                      // Standardsatz ohne Angabe des Steuersatzes für den Artikel.
                      
                      	define('TAX_ADDON', '
                      <div class="taxAddon">inkl. '. zen_get_product_tax($_GET['products_id'],tax_description) . ' MwSt.
                       zzgl. [url="' . zen_href_link(FILENAME_SHIPPING) . '"]Versandkosten[/url]</div>');
                      
                      ?>
                      Was mich noch stört:
                      $_GET['products_id']

                      es muss noch etwas anderes geben, um die ID des Produktes zu erhalten, dies geht nur wenn man ein Produkt aufgerufen hat.

                      Auch weiss ich jetzt auch nicht in wie weit ich die Zones :( , in meiner Funktion beachten muss, hab es erstmal ignoriert. Sicher gibt es da jemand, der sich darin auskennt.

                      Kommentar


                        #12
                        hab noch eine Prüfung in der Funktion vergessen, sonst kommt SQL-Fehler beim Aufruf der Hauptseite. Weil die ID - Fehlt

                        Code:
                        if(empty($prod_id) || $prod_id<1)
                            { return ''; exit;}

                        komplett:
                        Code:
                        function zen_get_product_tax($prod_id,$cell="description", $country_id = -1, $zone_id = -1) 
                          {
                            if(empty($prod_id) || $prod_id<1)
                            { return ''; exit;}     
                              
                            global $db;
                        
                            /*
                        
                            if ( ($country_id == -1) && ($zone_id == -1) ) {
                        
                              if (isset($_SESSION['customer_id'])) {
                        
                                $country_id = $_SESSION['customer_country_id'];
                        
                                $zone_id = $_SESSION['customer_zone_id'];
                        
                              } else {
                        
                                $country_id = STORE_COUNTRY;
                        
                                $zone_id = STORE_ZONE;
                        
                              }
                        
                            }
                            */
                            # alternativ zen_get_tax_rate(ID) nutzen
                            
                             $tax_rate_query =	"SELECT " 
                             					. TABLE_TAX_RATES.".tax_rates_id,". TABLE_TAX_RATES.".tax_zone_id,". TABLE_TAX_RATES.".tax_rate,". TABLE_TAX_RATES.".tax_description, "        
                                          . TABLE_TAX_CLASS.".tax_class_id,". TABLE_TAX_CLASS .".tax_class_title,". TABLE_TAX_CLASS.".tax_class_description "     
                                          . "FROM " . TABLE_TAX_RATES . " "
                             				 	. "JOIN " . TABLE_TAX_CLASS . " "
                        					  	. "ON " . TABLE_TAX_RATES . ".tax_class_id = " . TABLE_TAX_CLASS . ".tax_class_id" . " "
                        						. "JOIN " . TABLE_PRODUCTS . " "
                        						. "ON " . TABLE_PRODUCTS . ".products_tax_class_id  = " . TABLE_TAX_CLASS . ".tax_class_id "
                        						. "WHERE " . TABLE_PRODUCTS . ".products_id = " . $prod_id  ;
                           
                         		$tax_rate = $db->Execute($tax_rate_query);   
                            
                            
                            switch($cell){
                            case 'tax_description':   
                            	$result = $tax_rate->fields['tax_description'];
                            	break;
                            case 'tax_rate':
                              $result = $tax_rate->fields['tax_rate'];
                            	break;
                            case 'rates_id':
                              $result = $tax_rate->fields['tax_rates_id'];
                            	break;
                            case 'zone_id':
                              $result = $tax_rate->fields['tax_zone_id'];
                            	break;
                            case 'class_id':
                              $result = $tax_rate->fields['tax_class_id'];
                            	break;
                        	 case 'tax_class_title':
                        	 	$result = $tax_rate->fields['tax_class_title'];
                            	break;
                        	 case 'tax_class_description':
                        	 	$result = $tax_rate->fields['tax_class_description'];
                            	break; 	
                            }
                              
                             return $result;
                            
                          }

                        Kommentar


                          #13
                          Hast du nicht immer, wenn ein Produkt angezeigt wird, auch die ID zur Verfügung?

                          Kommentar


                            #14
                            Zitat von Smartsoul
                            Hast du nicht immer, wenn ein Produkt angezeigt wird, auch die ID zur Verfügung?
                            Bestimmt, nur kenn ich mich mit den innereien von zc noch nicht aus, wie gesagt, meine ersten Schritte damit. Meine Testinstallation läuft nichtmal 2 Tage, und ich nehm schon die Datenbank auseinander .

                            Kommentar


                              #15
                              Sehr mutig! Respekt!!!

                              Allerdings scheint mir, du bist was mysql angeht schon mal kein Anfänger und in php wirst du auch einen gewissen Durchblick haben, oder?

                              Bin selber auch erst wieder seit ein paar Tagen dabei, mich mit ZC auseinander zu setzen. Hatte da schon mal vor einem Jahr ein bisschen mit rumgespielt, aber alles nur im CSS-Bereich.

                              .. und die Dinger, die du da oben mal eben fabriziert hast, hätte ich nicht auf die Reihe gekriegt.

                              Hast du denn sonst noch Fehlermeldungen erzeugt oder könnte ich mich daran wagen, dass auch so zu implementieren?

                              Was meinst du?

                              Kommentar

                              Info zu diesem Forenarchiv:
                              Mit Release von 1.5.7 wurde die deutsche Zen Cart Version auf eine reine DIY-Lösung umgestellt.
                              Für einen Support via Forum stehen keine personellen und zeitlichen Ressourcen mehr zur Verfügung.
                              Dieses Supportforum bleibt im Nur-Lesen-Modus als Wissensarchiv noch online verfügbar.
                              PM Funktionalität, Registrierung und Posten neuer Beiträge sind deaktiviert.
                              Zugriff auf Anhänge in den Postings ist auch ohne Registrierung/Einloggen möglich.
                              FAQ und Downloadbereich des Forums wurden in die neue umfangreiche Knowledgebase auf der zen-cart-pro.at Website übernommen.

                              Das Development der deutschen Zen Cart Version geht wie bisher auf Github weiter.
                              Wir werden auch weiterhin neue Versionen bereitstellen und die Onlinedokumentation/Knowledgebase aktualisieren.
                              Fehler in der Software können auf Github als Issues gemeldet werden.
                              Follow us
                              aktuelle version
                              Zen Cart 1.5.7g deutsch
                              vom 12.12.2023
                              [Download]
                              Lädt...
                              X