Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

YePix

Members
  • Posts

    434
  • Joined

  • Last visited

  • Days Won

    9

Posts posted by YePix

  1. das ist der Abschnitt der für das Feld Telefonnummer zuständig ist:

        if (strlen($telephone) < ENTRY_TELEPHONE_MIN_LENGTH) {
          $error = true;
    
          $messageStack->add('create_account', ENTRY_TELEPHONE_NUMBER_ERROR);
        }
          <tr>
            <td class="fieldKey"><?php echo ENTRY_TELEPHONE_NUMBER; ?></td>
            <td class="fieldValue"><?php echo tep_draw_input_field('telephone') . '&nbsp;' . (tep_not_null(ENTRY_TELEPHONE_NUMBER_TEXT) ? '<span class="inputRequirement">' . ENTRY_TELEPHONE_NUMBER_TEXT . '</span>': ''); ?></td>
          </tr>

     

  2. Also bei dem Wissen über osCommerce ist es schon mal sehr schlecht überhaupt in Erwägung zu ziehen einen Online-Shop frei ins Netz zu stellen. (Sorry nicht böse gemeint)
    Bevor du dir Gedanken über eventuelle Angabefelder machst, solltest du dir lieber Gedanken über die rechtliche Situation, was das Betreiben eines Shops im Netz angeht machen.
    Eine Abmahnung wegen fehlender bzw. falscher Angaben kann sehr, sehr teuer werden. (Das nehmen viel zu viele hier leider auf die leichte Schulter) und dann ist das Gehäule gross !

    Die besten Ausreden sind immer, Ich möchte nicht viel investieren, da es nur ein kleiner Shop ist und und und.....

    Es ist ganz egal wie gross der Shop werden soll, auch wen nur ein Produkt verkauft wird. Gesetz ist Gesetz und die Straffen sind sehr hoch  bei Verstössen.

    Ist der Shop irgendwann Abmahnsicher, so kannst du an Verschönerung und Anpassung bestimmter Details denken die du haben möchtest.

    Nichts für ungut aber denk über meine Worte nach, kann viel Ärger ersparen.

     

     

  3. Du brauchst noch den Lieferkostenvermerk in unmittelbarer Nähe zum Preis.
    Nicht vergessen, die Versandkosten müssen inkl. MwSt. gelten.
    Bestätigung der AGB, Widerruf und Datenschutzrichtlinien.
    Die DSGVO Angaben müssen jedem Kunden zugänglich sein.
    Kontrollkästchen mit Bestätigung der Privatsphere vor dem Versenden des Kontaktformulars.

    Und, und, und.....
    An deiner Stelle würde ich erstmal genauer prüffen was alles noch fehlt was rechtlich vorgeschrieben ist bevor der Shop On-Line geht. (kann sehr teuer werden.)

    PS. Die anderen Shops die im Netz zu finden sind, sind auch nicht ganz ohne und müssen an die Gesetzvorgaben angepasst werden.

  4. My buy now button with quantity field:

    echo ' <div class="pls_margin"><span class="text">' . TEXT_ENTER_QUANTITY . ' ' . tep_draw_input_field('cart_quantity', '1', 'style="width: 70px;" min="0"', 'number') . '</span> ' . tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_draw_button(IMAGE_BUTTON_IN_CART, 'fa fa-shopping-cart', null, 'primary', array('params' => 'data-has-attributes="' . (($products_attributes['total'] > 0) ? '1' : '0') . '" data-in-stock="' . (int)$product_info['products_quantity'] . '" data-product-id="' . (int)$product_info['products_id'] . '"'), 'btn btn-success btn-block btn-lg') .'</div>';

     

  5. why does it work with $HTTP_POST_VARS
     

    $cart->add_cart($_POST['products_id'], $cart->get_quantity(tep_get_uprid($_POST['products_id'], $attributes))+ $HTTP_POST_VARS['cart_quantity'], $attributes);

    and not with $_POST
     

    $cart->add_cart($_POST['products_id'], $cart->get_quantity(tep_get_uprid($_POST['products_id'], $attributes))+ $_POST['cart_quantity'], $attributes);

     

  6. hello Rainer, what can it be that products from product_info are placed twice in the shopping cart?
    I mean, the quantity field.
     

          // customer adds a product from the products page
          case 'add_product' :    if (isset($_POST['products_id']) && is_numeric($_POST['products_id'])) {
    //++++ QT Pro: Begin Changed code
                                    $attributes=array();
                                    if (isset($_POST['attrcomb']) && (preg_match("/^\d{1,10}-\d{1,10}(,\d{1,10}-\d{1,10})*$/",$_POST['attrcomb']))) {
                                      $attrlist=explode(',',$_POST['attrcomb']);
                                      foreach ($attrlist as $attr) {
                                        list($oid, $oval)=explode('-',$attr);
                                        if (is_numeric($oid) && $oid==(int)$oid && is_numeric($oval) && $oval==(int)$oval)
                                          $attributes[$oid]=$oval;
                                      }
                                    }
                                    if (isset($_POST['id']) && is_array($_POST['id'])) {
                                      foreach ($_POST['id'] as $key=>$val) {
                                        if (is_numeric($key) && $key==(int)$key && is_numeric($val) && $val==(int)$val)
                                          $attributes=$attributes + $_POST['id'];
                                      }
                                    }
                                    $cart->add_cart($_POST['products_id'], $cart->get_quantity(tep_get_uprid($_POST['products_id'], $attributes)) + $_POST['cart_quantity'], $attributes);
    //++++ QT Pro: End Changed Code
                                  }                              
                                  $messageStack->add_session('product_action', sprintf(PRODUCT_ADDED, tep_get_products_name((int)$_POST['products_id'])), 'success');
                                  tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));
                                  break;

     

  7. in product_info.php hat sich ein Fehler eingeschlichen. Dieses einfügen:

    <?php 
    if (SHOW_PRODUCTS_SHIPPING_TIME_ON == 'true') { 
    if ( (tep_session_is_registered('customer_id') == true) || ($id != $customer_id) ) {
    $c__heimatland = $customer_country_id;
    list($lieferdatum_von,$lieferdatum_bis) = get_lieferzeitraum($c__heimatland);
    $pls_shippingtime = '<span class="pls_basePrice">' . TEXT_LIEFERUNG_PI .  $lieferdatum_von . "-" . $lieferdatum_bis . '</span><br>';
    echo $pls_shippingtime;
    }else{
    $pls_shippingtime = '<span class="pls_basePrice">' . TEXT_SHIPPINGTIME_LOGIN . '</span><br>';
    echo $pls_shippingtime;
    }
    }?>

     

     

  8. Mit besonderem Dank an @Tsimi

    SQL-Anweisung
     

    INSERT INTO configuration_group (configuration_group_id, configuration_group_title, configuration_group_description, sort_order, visible)
    VALUES ('41', 'Angabe Lieferzeiten', 'Definieren Sie die Angaben der Lieferzeiten für Deutschland in Tagen. Standard von [3 Tage] bis [7 Tage] Ausserhalb Deutschland [5 Tage] bis [10 Tage]', NULL, '1');
    
    INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added, use_function, set_function)
    VALUES ('Angabe der Lieferzeiten freischalten ?', 'SHOW_PRODUCTS_SHIPPING_TIME_ON', 'true', 'Soll die Angabe der Lieferzeiten bei den Produktdetails freigeschalten werden ?', '41', '1', now(), NULL , 'tep_cfg_select_option(array(\'true\', \'false\'),');
    
    INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added) 
    VALUES ('Lieferangabe innerhalb Deutschland von [x] Tagen', 'INFOTEXT_SHIPPING_TIME_OF', '3', 'Lieferangabe innerhalb Deutschland in Tagen. Standard: [zwischen 3] und ...', '41', '10', now(), now());
    INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added) 
    VALUES ('Lieferangabe innerhalb Deutschland bis [x] Tagen', 'INFOTEXT_SHIPPING_TIME_TO', '7', 'Lieferangabe innerhalb Deutschland in Tagen. Standard: zwischen ... [und 7 Tagen]', '41', '11', now(), now());
    INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added) 
    VALUES ('Lieferangabe ausserhalb Deutschland von [x] Tagen', 'INFOTEXT_SHIP_TIME_OF_W', '5', 'Lieferangabe ausserhalb Deutschland in Tagen. Standard: [zwischen 5] und ...', '41', '12', now(), now());
    INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added) 
    VALUES ('Lieferangabe ausserhalb Deutschland bis [x] Tagen', 'INFOTEXT_SHIP_TIME_TO_W', '10', 'Lieferangabe ausserhalb Deutschland in Tagen. Standard: zwischen ... [und 10 Tagen]', '41', '13', now(), now());

    product_info.php
     

    einfügen unterhalb vom letzten query tag ?>:
    
    
    <?php 
    if ( (tep_session_is_registered('customer_id') == true) || ($id != $customer_id) ) {
    $c__heimatland = $customer_country_id;
    list($lieferdatum_von,$lieferdatum_bis) = get_lieferzeitraum($c__heimatland);
    $pls_shippingtime = '<span class="pls_basePrice">' . TEXT_LIEFERUNG_PI .  $lieferdatum_von . "-" . $lieferdatum_bis . '</span><br>';
    echo $pls_shippingtime;
    }else{
    $pls_shippingtime = '<span class="pls_basePrice">' . TEXT_SHIPPINGTIME_LOGIN . '</span><br>';
    echo $pls_shippingtime;
    }?>
    
    
    einfügen an gewünschter Stelle:
    
    <?php echo $pls_shippingtime;?>

    einfügen in german.php:
     

    define('TEXT_LIEFERUNG_PI', 'Lieferung bei heutiger Zahlung: ');
    define('TEXT_SHIPPINGTIME_LOGIN', 'Bitte einloggen für Lieferangaben. ');

    einfügen in english.php:
     

    define('TEXT_LIEFERUNG_PI', 'Delivery by todays payment: ');
    define('TEXT_SHIPPINGTIME_LOGIN', 'Login for delivery info. ');

    catalog/includes/functions/general.php
     

    einfügen vor dem letztem tag ?>:
    
    
    // Lieferzeiten start
    function get_lieferzeitraum($yp_ausland)
    {
      // Die Routine geht von 3 Tagen für Lieferdatum_von und 5 Tagen Lieferdatum bis aus. Sollten andere Werte benötigt werden, //
      // dann die Konstanten c__von und c__bis ändern                                                                            //
    
      // Konstanten Inland
      $c__von_i = INFOTEXT_SHIPPING_TIME_OF;  // Lieferdatum von in Tagen //
      $c__bis_i = INFOTEXT_SHIPPING_TIME_TO;  // Lieferdatum bis in Tagen //
      $c__heimatland = 81 ; // 81 = Deutschland oder z.B. 14 für Österreich//
    
    // wie bereits erwähnt, findet man die Zahlu in der Datenbank
    
      // Konstanten Ausland
      $c__von_a = INFOTEXT_SHIP_TIME_OF_W;  // Lieferdatum von in Tagen //
      $c__bis_a = INFOTEXT_SHIP_TIME_TO_W;  // Lieferdatum bis in Tagen //
    
      if ($yp_ausland == $c__heimatland)
      {
        // es ist Deutschland //
        $c__von = $c__von_i;
        $c__bis = $c__bis_i;
      }
      else
      {
        $c__von = $c__von_a;
        $c__bis = $c__bis_a;
      }
    
    
      $y_von_day       = $c__von . ' day';
      $lieferdatum_von = strtotime(" . $y_von_day . ");
      $wochentag_von   = strftime("%u",$lieferdatum_von);
      $y_dazu = 0;
      if ($wochentag_von == 0)
      {
        // es ist ein Sonntag => +1 Tag dazu //
        $y_dazu = 1;
      }
      elseif ($wochentag_von == 6)
      {
        // es ist ein Samstag => +2 Tage dazu //
        $y_dazu = 2;
      }
      $y_von_neu       = $c__von + $y_dazu;
      $y_von_neu_day   = $y_von_neu . ' day';
      $lieferdatum_von =  strtotime(" . $y_von_neu_day . ");
    
        // Wenn das "Lieferdatum von" schon ein Wochenende war, dann die Anzahl der zu verschiebenen Tage auf das "Lieferdatum bis" hinzuaddieren //
      $y_bis_start     = $c__bis + $y_dazu;
      $y_bis_day       = $y_bis_start . ' day';
      $lieferdatum_bis = strtotime(" . $y_bis_day . ");
    
      // Überprüfen, ob das "Lieferdatum bis" auf ein Wochenende fällt //
      $wochentag_bis = strftime("%u",$lieferdatum_bis);
      $y_dazu=0;
      if ($wochentag_bis == 0)
      {
        // es ist ein Sonntag => +1 Tag dazu //
        $y_dazu = 1;
      }
      elseif ($wochentag_bis == 6)
      {
        // es ist ein Samstag => +2 Tage dazu //
        $y_dazu = 2;
      }
      $y_bis_neu       = $y_bis_start + $y_dazu;
      $y_bis_neu_day   = $y_bis_neu . ' day';
      $lieferdatum_bis = strtotime(" . $y_bis_neu_day . ");
    
      $lieferdatum_von = date('d.m.',$lieferdatum_von);
      $lieferdatum_bis = date('d.m.',$lieferdatum_bis) ;
      return array($lieferdatum_von, $lieferdatum_bis) ;
    }
    // Lieferzeiten ende 

     

  9. Hi, könnte hier jemand mal nachsehen was da falsch läuft ?
    Die Angabe Lieferzeiten funzt nur für Deutschland also bei 81 mit 3 bis 7 Tage

    Kunden aus dem Ausland bekommen die gleiche Angabe 3 bis 7 Tage anstelle von 5 bis 10 Tage

    general.php
     

    // Lieferzeiten start
    function get_lieferzeitraum($yp_ausland)
    {
      // Die Routine geht von 3 Tagen für Lieferdatum_von und 5 Tagen Lieferdatum bis aus. Sollten andere Werte benötigt werden, //
      // dann die Konstanten c__von und c__bis ändern
      // Konstanten Inland
      $c__von_i = 3;  // Lieferdatum von in Tagen //
      $c__bis_i = 7;  // Lieferdatum bis in Tagen //
      $c__heimatland = 81 ; // 81 = Deutschland
    
    // wie bereits erwähnt, findet man die Zahlu in der Datenbank
    
      // Konstanten Ausland
      $c__von_a = 5;  // Lieferdatum von in Tagen //
      $c__bis_a = 10;  // Lieferdatum bis in Tagen //
    
      if ($yp_ausland == $c__heimatland)
      {
        // es ist Deutschland //
        $c__von = $c__von_i;
        $c__bis = $c__bis_i;
      }
      else
      {
        $c__von = $c__von_a;
        $c__bis = $c__bis_a;
      }
    
    
      $y_von_day       = $c__von . ' day';
      $lieferdatum_von = strtotime(" . $y_von_day . ");
      $wochentag_von   = strftime("%u",$lieferdatum_von);
      $y_dazu = 0;
      if ($wochentag_von == 0)
      {
        // es ist ein Sonntag => +1 Tag dazu //
        $y_dazu = 1;
      }
      elseif ($wochentag_von == 6)
      {
        // es ist ein Samstag => +2 Tage dazu //
        $y_dazu = 2;
      }
      $y_von_neu       = $c__von + $y_dazu;
      $y_von_neu_day   = $y_von_neu . ' day';
      $lieferdatum_von =  strtotime(" . $y_von_neu_day . ");
    
        // Wenn das "Lieferdatum von" schon ein Wochenende war, dann die Anzahl der zu verschiebenen Tage auf das "Lieferdatum bis" hinzuaddieren //
      $y_bis_start     = $c__bis + $y_dazu;
      $y_bis_day       = $y_bis_start . ' day';
      $lieferdatum_bis = strtotime(" . $y_bis_day . ");
    
      // Überprüfen, ob das "Lieferdatum bis" auf ein Wochenende fällt //
      $wochentag_bis = strftime("%u",$lieferdatum_bis);
      $y_dazu=0;
      if ($wochentag_bis == 0)
      {
        // es ist ein Sonntag => +1 Tag dazu //
        $y_dazu = 1;
      }
      elseif ($wochentag_bis == 6)
      {
        // es ist ein Samstag => +2 Tage dazu //
        $y_dazu = 2;
      }
      $y_bis_neu       = $y_bis_start + $y_dazu;
      $y_bis_neu_day   = $y_bis_neu . ' day';
      $lieferdatum_bis = strtotime(" . $y_bis_neu_day . ");
    
      $lieferdatum_von = date('d.m.',$lieferdatum_von);
      $lieferdatum_bis = date('d.m.',$lieferdatum_bis) ;
      return array($lieferdatum_von, $lieferdatum_bis) ;
    }
    // Lieferzeiten ende  

    product_info.php
     

    <?php $c__heimatland = 81; // 81 = Deutschland 
    // mit der Zahl kann man sein Heimatland angeben. Das findet mach am Besten in der Datenbank 
    list($lieferdatum_von,$lieferdatum_bis) = get_lieferzeitraum($c__heimatland);
    $pls_shippingtime = '<span class="pls_basePrice">' . TEXT_LIEFERUNG_PI .  $lieferdatum_von . "-" . $lieferdatum_bis . '</span>';
    ?>

     

  10. 3 hours ago, raiwa said:

    Please answer my questions:

     

    If attributes are created and the stock is linked to a main product, the Inventory table is displayed on the product info page. If I now delete the attributes again, the table with option name and stock 10 still exists. Only when I delete the main product is the table removed.

  11. 2 hours ago, raiwa said:

    Please explain more details:

    - where do you delete the attribute (admin/attributes_products, admin/AJAX attributes manager, easy populate)

    - which stock remains the same (attribute stock, general product stock)

    only if the attributes are deleted the inventory of the attributes remains
    
     
×
×
  • Create New...