Neueste Nachrichten (in Englisch): (am laden..)

Yepi

Members
  • Gesamte Inhalte

    920
  • Benutzer seit

  • Letzter Besuch

Ansehen in der Community

1 Neutral

Über Yepi

Letzte Besucher des Profils

20.607 Profilaufrufe
  1. java popup

    so funktioniert es mit dem Popup <a href='<?php echo tep_href_link(FILENAME_ATTRIBUTE_POPUP, 'products_id=' . $all_products['products_id']); ?>', target="_blank" onclick="window.open(this.href,this.target,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=420,height=780,screenX=150,screenY=150,top=5,left=650'); return false;"><?php echo tep_draw_button(IMAGE_BUTTON_PROD_ATTRIBUTES, 'plusthick');?> Die Anzeige des Buttons nur bei aktiven Attributen ist immer noch ein Thema.
  2. SQL einspielen INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) VALUES ('Liste der Produktmerkmale', 'MAX_ROW_LISTS_OPTIONS', '60', 'Maximale Anzahl der Produktmerkmale die auf der Liste angezeigt werden sollen', '3', '20', now()); catalog/admin/includes/languages/german/products_attributes.php auskommentieren: //define('MAX_ROW_LISTS_OPTIONS', 10); Viel Spass damit
  3. Falls jemand Interesse hat hier ein neues Kontaktformular. Dieser kann über die Administration gesteuert werden An/Aus.. Adresse, Telefonnummer, Mobilnummer, Checkbox für Datenschutz. Viel Spass damit. ***************************************************** SQL: INSERT INTO configuration_group (configuration_group_id, configuration_group_title, configuration_group_description, sort_order, visible) VALUES ('25','Kontaktformular', 'Emailoptionen Kontaktformular', '25', '1'); INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added) VALUES ('Eingabefeld Telefonnummer', 'CONTACT_TELEFON_DISPLAY', 'true', 'Möchten Sie, dass das Eingabefeld für Telefonnummer zum Absenden benötigt wird ? true = ja, false = nein', '25', '1', now(), now()); INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added) VALUES ('Eingabefeld Mobilnummer', 'CONTACT_MOBILE_DISPLAY', 'true', 'Möchten Sie, dass das Eingabefeld für Mobilnummer zum Absenden benötigt wird ? true = ja, false = nein', '25', '2', now(), now()); INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added) VALUES ('Eingabefeld Anschrift', 'CONTACT_ADRESSE_DISPLAY', 'true', 'Möchten Sie, dass das Eingabefeld für Anschrift zum Absenden benötigt wird ? true = ja, false = nein', '25', '3', now(), now()); INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added) VALUES ('Datenschutz Checkbox', 'CONTACT_CHECKPRIVACY_DISPLAY', 'true', 'Möchten Sie, dass die Datenschutz Checkbox zum Absenden benötigt wird ? true = ja, false = nein', '25', '4', now(), now()); *************************************** catalog/contact_us.php <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2010 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CONTACT_US); $error = false; if (isset($_GET['action']) && ($_GET['action'] == 'send') && isset($_POST['formid']) && ($_POST['formid'] == $sessiontoken)) { $name = tep_db_prepare_input($_POST['name']); $address = tep_db_prepare_input($_POST['address']); $telefon = tep_db_prepare_input($_POST['telefon']); $email_address = tep_db_prepare_input($_POST['email']); $enquiry = tep_db_prepare_input($_POST['enquiry']); $mobile = $_POST['mobile']; $betreff = TEXT_WHAT . ' ' . $name; $text = ENTRY_NAME . ' ' . $name . "\n\n" . ENTRY_ADDRESS . ' ' . $address . "\n\n" . ENTRY_TELEFON . ' ' . $telefon . "\n\n" . ENTRY_EMAIL . ' ' . $email_address . "\n\n" . ENTRY_MOBILE . ' ' . $mobile . "\n\n" . ENTRY_ENQUIRY . "\n" . $enquiry; if (strlen($enquiry) < 1) { $error = true; $messageStack->add('anfrage', ENTRY_ENQUIRY_CHECK_ERROR); } if (CONTACT_MOBILE_DISPLAY == 'true') { if (strlen($mobile) < 1) { $error = true; $messageStack->add('anfrage', ENTRY_MOBILE_CHECK_ERROR); }else{ } } if (strlen($name) < 1) { $error = true; $messageStack->add('anfrage', ENTRY_NAME_CHECK_ERROR); } if (CONTACT_ADRESSE_DISPLAY == 'true') { if (strlen($address) < 1) { $error = true; $messageStack->add('anfrage', ENTRY_ADDRESS_CHECK_ERROR); }else{ } } if (strlen($email_address) < 1) { $error = true; $messageStack->add('anfrage', ENTRY_EMAIL_ERROR); } if (CONTACT_TELEFON_DISPLAY == 'true') { if (strlen($telefon) < 1) { $error = true; $messageStack->add('anfrage', ENTRY_TELEFON_ERROR); }else{ } } if (CONTACT_CHECKPRIVACY_DISPLAY == 'true') { if(!($_POST['terms_accept'])){ $error = true; $messageStack->add('anfrage', ENTRY_PRIVACY_CHECK_ERROR); }else{ } } if ($error == false) { tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, $betreff, $text, $name, $address, $email_address, $mobile); tep_redirect(tep_href_link(FILENAME_CONTACT_US, 'action=success')); } } $account = array();$name = '';$email = '';$telefon = ''; if (tep_session_is_registered('customer_id')) { $account_query = tep_db_query("select c.customers_firstname, c.customers_lastname, c.customers_telephone, c.customers_id, c.customers_default_address_id, c.customers_email_address, ab.entry_street_address, ab.entry_postcode, ab.entry_city" . " FROM " . TABLE_CUSTOMERS . " c, " . TABLE_ADDRESS_BOOK . " ab " . " WHERE c.customers_id = '" . (int)$customer_id . "'" . " AND ab.address_book_id = c.customers_default_address_id"); $account = tep_db_fetch_array($account_query); $name = $account['customers_firstname'].' '.$account['customers_lastname'] ; $email = $account['customers_email_address'] ; $telefon = $account['customers_telephone'] ; $address = $account['entry_street_address'] . ',' . $account['entry_postcode'] . " " . $account['entry_city']; } $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_CONTACT_US)); require(DIR_WS_INCLUDES . 'template_top.php'); ?> <div class="ui-widget infoBoxContainer"> <div class="ui-widget-proddesc infoBoxHeading"> <h1><?php echo HEADING_TITLE; ?></h1> <?php if ($messageStack->size('anfrage') > 0) { echo $messageStack->output('anfrage'); } if (isset($_GET['action']) && ($_GET['action'] == 'success')) { ?> <div class="contentContainer"> <div class="contentText"> <?php echo TEXT_SUCCESS; ?> </div> </div> </div> </div> <?php } else { ?> <?php echo tep_draw_form('anfrage_form', tep_href_link(FILENAME_CONTACT_US, 'action=send'), 'post', '', true); ?> <div class="contentContainer"> <div class="contentText"> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="main"> <b><?php echo TEXT_TO; ?></b><br> <b><?php echo nl2br(STORE_NAME_ADDRESS); ?></b><br><br> <b><?php echo STORE_OWNER_EMAIL_ADDRESS; ?></b><br> <br><hr><br> <b><?php echo TEXT_1; ?></b><br> </td> </tr> <tr> <td class="fieldValue"><?php echo tep_draw_textarea_field('enquiry', 'soft', '60', '5'); ?><br><?php echo ENTRY_ENQUIRY; ?><br> </td> </tr> <tr height="8"> <td class="fieldKey" height="8"></td> </tr> <tr> <td class="fieldKey"><?php echo ENTRY_NAME; ?><br> <?php echo (isset($account['customers_lastname']) ? $name . tep_draw_hidden_field('name',$name) : tep_draw_input_field('name', $name, 'size="45"')); ?></td> </tr> <tr height="8"> <td class="fieldKey" height="8"></td> </tr> <tr> <td class="fieldKey"><?php echo ENTRY_EMAIL; ?><br> <?php echo (isset($account['email']) ? $email . tep_draw_hidden_field('email',$email) : tep_draw_input_field('email', $email, 'size="45"')); ?></td> </tr> <tr height="8"> <td class="fieldValue" height="8"></td> </tr> <td class="fieldValue"><?php if (CONTACT_ADRESSE_DISPLAY == 'true') { ?><?php echo ENTRY_ADDRESS; ?><br> <?php echo (isset($account['entry_street_address']) ? $address . tep_draw_hidden_field('address',$address) : tep_draw_input_field('address', $address, 'size="45"')); ?> <?php }else{}?></td> <tr height="8"> <td height="8"></td> </tr> <tr> <td class="fieldKey"> <?php if (CONTACT_TELEFON_DISPLAY == 'true') { ?> <?php echo ENTRY_TELEFON; ?><br> <?php echo (isset($account['telefon']) ? $telefon . tep_draw_hidden_field('telefon',$telefon) : tep_draw_input_field('telefon', $telefon, 'size="45"')); ?> <?php }else{}?></td> </tr> <tr height="8"> <td class="fieldKey" height="8"></td> </tr> <td class="fieldKey"><?php if (CONTACT_MOBILE_DISPLAY == 'true') { ?><?php echo ENTRY_MOBILE; ?><br> <?php echo tep_draw_input_field('mobile', $mobile, 'size="45"'); ?> <?php }else{}?></td> <tr> <td> </td > </tr> <tr> <td> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <!-- SOF TERMS ACCEPTANCE --> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td> <?php if (CONTACT_CHECKPRIVACY_DISPLAY == 'true') { ?> <div class="ui-widget-futured-header infoBoxHeading"> <table border="0" width="100%" cellspacing="1" cellpadding="2" class="privacyBox"> <tr class="infoBoxContents"> <td> <table border="0" cellspacing="2" cellpadding="2" align="left"> <tr> <td class="main" style='text-align:left;' bgcolor="#ff0000"><input type='checkbox' name='terms_accept'></td> <td class="main" style="text-align:left;" width="8"></td> <td class="main" style='text-align:left;'><?php echo TERMS_COND; ?></td> </tr> </table></div><?php }else{}?> </td> </tr> </table> </td> </tr> <tr height="8"> <td height="8"></td> </tr> <!-- EOF TERMS ACCEPTANCE --></td></tr> </table> </td> </tr> </table> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td><?php echo tep_draw_button(IMAGE_BUTTON_SEND_QUESTION, 'triangle-1-e', null, 'primary'); ?></td> </tr> </table> </div> <div class="buttonSet"> </div> </div> </form> <div class="noprint"> </div> </div> </div> <?php } require(DIR_WS_INCLUDES . 'template_bottom.php'); require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> **************************************** catalog/includes/languages/german/contact_us.php <?php /* $Id: widerruf.php 1739 2007-12-20 00:52:16Z hpdl $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2002 osCommerce Released under the GNU General Public License */ define('NAVBAR_TITLE', 'Kontaktformular'); define('HEADING_TITLE', 'Kontaktformular'); define('TEXT_WHAT', 'Kontaktanfrage von '); define('TEXT_TO', 'An:'); define('TEXT_1', '<strong><font size="2">Ihre Nachricht hier:</font></strong>'); define('ENTRY_ENQUIRY', 'Schildern Sie uns Ihr Anliegen.'); define('ENTRY_NAME', 'Vorname, Name:'); define('ENTRY_ADDRESS', 'Anschrift:'); define('ENTRY_EMAIL', 'E-Mailadresse:'); define('ENTRY_TELEFON', 'Telefonnummer:'); define('ENTRY_MOBILE', 'Mobilnummer:'); define('TEXT_SUCCESS', 'Vielen Dank f&uuml;r die Benutzung unseres Kontaktformulars. Wir werden Ihr Anliegen bearbeiten und uns bei Ihnen melden.'); define('ENTRY_ENQUIRY_CHECK_ERROR', 'Bitte schildern Sie uns Ihr Anliegen.'); define('ENTRY_MOBILE_CHECK_ERROR', 'Bitte geben Sie Ihre Mobilnummer ein.'); define('ENTRY_NAME_CHECK_ERROR', 'Bitte geben Sie Ihren vollständigen Namen ein.'); define('ENTRY_ADDRESS_CHECK_ERROR', 'Bitte geben Sie Ihre Anschrift ein.'); define('ENTRY_EMAIL_ERROR', 'Bitte geben Sie Ihre E-Mailadresse ein.'); define('ENTRY_TELEFON_ERROR', 'Bitte geben Sie Ihre Telefonnummer ein.'); //terms acceptance define('TERMS_COND', '<td style="color:black;">Bestätigen Sie den <a style="color:blue;" href="extra_info_pages.php?pages_id=7"><b>Datenschutz</b></a> verstanden zu haben. </td>'); define('ENTRY_PRIVACY_CHECK_ERROR', 'Bitte bestätigen Sie die Datenschutz-Checkbox !'); //terms acceptance ?>
  4. shopping_cart erweitern

    Hast du die entsprechende query mit den notwendigen Abfragen so, dass deine Werte auch ausgegeben werden können ?
  5. shopping_cart erweitern

    https://apps.oscommerce.com/DNuVS&add-weight-and-weight-total-to-cart
  6. Shop schließen

    Such mal nach XAMPP. Damit kannst du dein Shop intern auf deinem Rechner installieren und brauchst kein STRATO
  7. java popup

    Also ich verstehe es nicht, mit diesem Link funzt alles ganz normal: . tep_draw_button(IMAGE_BUTTON_IN_CART, 'plusthick', tep_href_link(FILENAME_ATTRIBUTE_POPUP, 'products_id=' . $all_products['products_id']) . '"target="_blanc"' ); Damit nicht: <script type="text/javascript"> function openWinYepi() { winx0 = (window.screenLeft != undefined ? window.screenLeft : window.screenX) + 50; window.open('<?php echo tep_href_link(FILENAME_ATTRIBUTE_POPUP, 'products_id=' . $all_products['products_id']); ?>', 'yepiPopWindow', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width=300,height=650,screenX='+ winx0 + ',screenY=150,top=150,left=' + winx0); } </script> <?php $params = array( 'type' => 'button', 'newwindow' => true, 'params' => 'onclick="openWinYepi();return false;"' ); if (DISPLAY_CART == 'false') { echo tep_draw_button(IMAGE_BUTTON_PROD_ATTRIBUTES, 'lightbulb', tep_href_link(FILENAME_ATTRIBUTE_POPUP, 'products_id=' . $all_products['products_id']), null, $params); } ?> Dazugehörige query: $categories_name = ''; if (!empty($hiddencats)) { $all_products_query = tep_db_query("select c.categories_id, c.categories_name, p.products_id, p.products_quantity, p.products_model, p.products_image, p.products_tax_class_id, p.products_price, pd.products_name, pd.products_description, m.manufacturers_id, m.manufacturers_name from " . TABLE_PRODUCTS . " p left join . " . TABLE_MANUFACTURERS . " m on m.manufacturers_id = p.manufacturers_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_CATEGORIES_DESCRIPTION . " c, " . TABLE_PRODUCTS_TO_CATEGORIES . " pc where p.products_id = pd.products_id and p.products_id = pc.products_id and p.products_status = 1 and pc.categories_id = c.categories_id AND c.language_id = '" . (int)$languages_id . "' and pd.language_id = '" . (int)$languages_id . "' and (not (pc.categories_id in (" . implode(',', $hiddencats) . "))) group by p.products_id order by c.categories_name, pd.products_name asc"); } else { $all_products_query = tep_db_query("select c.categories_id, c.categories_name, p.products_id, p.products_quantity, p.products_model, p.products_image, p.products_tax_class_id, p.products_price, pd.products_name, pd.products_description, m.manufacturers_id, m.manufacturers_name from " . TABLE_PRODUCTS . " p left join . " . TABLE_MANUFACTURERS . " m on m.manufacturers_id = p.manufacturers_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_CATEGORIES_DESCRIPTION . " c, " . TABLE_PRODUCTS_TO_CATEGORIES . " pc where p.products_id = pd.products_id and p.products_id = pc.products_id and p.products_status = 1 and pc.categories_id = c.categories_id AND c.language_id = '" . (int)$languages_id . "' and pd.language_id = '" . (int)$languages_id . "'" . " order by c.categories_name, pd.products_name asc"); } while ($all_products = tep_db_fetch_array($all_products_query)) { if($categories_name != $all_products['categories_name']) { Bin schon seit Tagen damit beschäftigt komme aber nicht weiter. Falls jemand noch helfen kann, danke ich schon im voraus.
  8. catalog/includes/functions/general.php vor ?> einfgen // reorder code function tep_reorder ($orders_id) { global $cart, $languages_id; $result = ''; $ordered_products_query = tep_db_query("select op.products_id, op.orders_products_id, op.products_quantity, p.products_status, p.products_model, p.products_quantity as stock, pd.products_name from " . TABLE_ORDERS_PRODUCTS . " op, " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where op.orders_id = '" . $orders_id . "' and op.products_id = p.products_id and p.products_id = pd.products_id and pd.language_id = '" . $languages_id . "'"); while ($ordered_product = tep_db_fetch_array($ordered_products_query)) { if ($ordered_product['products_status'] == '1') { if (!tep_has_product_attributes($ordered_product['products_id'])) { if ($ordered_product['stock'] >= ($cart->get_quantity($ordered_product['products_id'])+$ordered_product['products_quantity'])) { $cart->add_cart($ordered_product['products_id'], $cart->get_quantity($ordered_product['products_id'])+$ordered_product['products_quantity']); } else { $result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Not enough stock<br>'; } } else { $attributes = array(); $attributes_count = 0; $attributes_query = tep_db_query("select po.products_options_id , pov.products_options_values_id from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " opa, " . TABLE_PRODUCTS_OPTIONS . " po, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where opa.orders_id = '" . $orders_id . "' and opa.orders_products_id = '" . $ordered_product['orders_products_id'] . "' and po.products_options_name = opa.products_options and po.language_id = '" . $languages_id . "' and pa.options_id = po.products_options_id and pa.options_values_id = pov.products_options_values_id and pa.products_id = '" . $ordered_product['products_id'] . "' and pov.products_options_values_name = opa.products_options_values and pov.language_id = '" . $languages_id . "'"); while ($attribute = tep_db_fetch_array($attributes_query)) { $attributes[$attribute['products_options_id']] = $attribute['products_options_values_id']; $attributes_count++; } if ($attributes_count < 1) { $result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Attributes changed<br>'; } if ($ordered_product['stock'] >= ($cart->get_quantity(tep_get_uprid($ordered_product['products_id'], $attributes))+$ordered_product['products_quantity'])) { $cart->add_cart($ordered_product['products_id'], $cart->get_quantity(tep_get_uprid($ordered_product['products_id'], $attributes))+$ordered_product['products_quantity'], $attributes); } else { $result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Not enough stock (attr)<br>'; } } } else { $result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Not Available<br>'; } } return $result; } // reorder code end
  9. Habe versucht den Button nur auf Produkte zu legen die tatsächlich Attribute beinhalten aber es funktioniert leider nicht. <?php $products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "'"); $products_attributes = tep_db_fetch_array($products_attributes_query); if ($products_attributes['total'] > 0) { ?> <?php $params = array( 'type' => 'button', 'newwindow' => true, 'params' => 'onclick="openWinYepi();return false;"' ); if (SHOW_BUY_NOW_PROD_ATTRIB == 'true') { echo tep_draw_button(IMAGE_BUTTON_PROD_ATTRIBUTES, 'lightbulb', tep_href_link(FILENAME_ATTRIBUTE_POPUP, 'products_id=' . $products_new['products_id']), null, $params); } ?> <?php }else{ } ?>
  10. Hallo Leute, da es immer wieder zu ausfällen bei Bestellungen kam und Kundenumfrage zufolge, die Weiterleitung zur Produktseite nervte sobald ein Produkt Attribute hatte habe ich es anders gelöst und ermöglichte es Produkte direkt über ein Popup in den Warenkorb zu legen ohne dass die Kunden bestehende Seite verlassen mussten. Hierbei läuft alles gut mit der Ausnahme dass mir ein Javascript fehlt der die Parameter übernimmt. Dank Hilfe von Ingo besteht bereits ein Script mit dem ein Popup generiert wird jedoch die richtigen Werte werden nicht übernommen und es kommt immer wieder zu Anzeige der falschen products_ip Hier wenn jemand etwas nachsehen könnte wäre super. *********************************************************************************************************************************** Hier die entsprechenden Daten.: Popup-Fenster: attributte_popup.php <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2010 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); if (!isset($_GET['products_id'])) { tep_redirect(tep_href_link(FILENAME_DEFAULT)); } require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_ATTRIBUTE_POPUP); if (!empty($hiddencats)) { $product_check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.products_id = '" . (int)$_GET['products_id'] . "' and pd.products_id = p.products_id and p.products_id = p2c.products_id and (not (p2c.categories_id in (" . implode(',', $hiddencats) . "))) and pd.language_id = '" . (int)$languages_id . "'"); } else { $product_check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$_GET['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'"); } $product_check = tep_db_fetch_array($product_check_query); // require(DIR_WS_INCLUDES . 'template_top.php'); if ($product_check['total'] < 1) { ?> <div class="contentContainer"> <div class="contentText"> <?php echo TEXT_PRODUCT_NOT_FOUND; ?> </div> <div style="float: right;"> <?php echo tep_draw_button(IMAGE_BUTTON_CONTINUE, 'triangle-1-e', tep_href_link(FILENAME_DEFAULT)); ?> </div> </div> <?php } else { $product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id, p.products_base_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$_GET['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'"); $product_info = tep_db_fetch_array($product_info_query); tep_db_query("update " . TABLE_PRODUCTS_DESCRIPTION . " set products_viewed = products_viewed+1 where products_id = '" . (int)$_GET['products_id'] . "' and language_id = '" . (int)$languages_id . "'"); /* if ($new_price = tep_get_products_special_price($product_info['products_id'])) { $products_price = '<del>' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</del> <span class="productSpecialPrice">' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>'; } else { $products_price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])); } */ /* WS5 Wholesale - check for wholesale customer + wholesale price if exist */ if ( (tep_session_is_registered('wholesale_customers_id')) && ($wholesale_price = tep_get_products_wholesale_price($product_info['products_id'])) ) { $products_price = '<font color="#0066FF">'. tep_get_products_wholesale_note($product_info['products_id']).'</font><br>&nbsp'. '<small><span class="productWholesalePrice">' . $currencies->display_price($wholesale_price, tep_get_tax_rate(MODULE_CONTENT_WHOLESALE_LOGIN_FORM_TAX)) .'</small><br>'. $currencies->display_price($wholesale_price,'0') .'</span>'; } else { /* original query below */ if ($new_price = tep_get_products_special_price($product_info['products_id'])) { $products_price = '<del>' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</del> <span class="productSpecialPrice">' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>'; $priceold = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])); $difference = $currencies->display_price($product_info['products_price'] - $new_price, tep_get_tax_rate($product_info['products_tax_class_id'])); $savings = round(($product_info['products_price'] - $new_price)/$product_info['products_price'],2)*100; //$savings = number_format(($product_info['products_price'] - $new_price)/$product_info['products_price']*100,2,',',''); //genau berechnen } else { $products_price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])); } } $v_new_price = (tep_not_null($new_price) ? $new_price : '0'); // ajax attribute pricechange $v_products_price = (tep_not_null($product_info['products_price']) ? $product_info['products_price'] : '0'); // ajax attribute pricechange if (tep_not_null($product_info['products_model'])) { $products_name = $product_info['products_name'] . '<br /><span class="smallText">[' . $product_info['products_model'] . ']</span>'; // Artikelnummer ausgeschalten $products_name = $product_info['products_name'] . ''; } else { $products_name = $product_info['products_name']; } $products_base_price = $product_info['products_base_price']; ?> <head> <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>" /> <link rel="stylesheet" type="text/css" href="ext/jquery/ui/redmond/jquery-ui-1.10.4.min.css" /> <script type="text/javascript" src="ext/jquery/jquery-1.11.1.min.js"></script> <script type="text/javascript" src="ext/jquery/ui/jquery-ui-1.10.4.min.js"></script> <?php if ($mobile=='true') { ?> <link rel="stylesheet" type="text/css" href="stylesheet_mobile.css" /> <?php } else { ?> <link rel="stylesheet" type="text/css" href="stylesheet.css" /> <?php } ?> </head> <?php if (basename($PHP_SELF) == FILENAME_ATTRIBUTE_POPUP) { ?> <script type="text/javascript" src="js/change_price.js"></script> <?php } ?> <?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_ATTRIBUTE_POPUP, tep_get_all_get_params(array('action')) . 'action=add_product')); ?> <!-- GESAMT TABELLENLAYOUT START --> <!-- Layouttabelle PC- Browseransicht start --> <?php }else{ ?> <table border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td width="350"> <div class="ui-widget infoBoxContainer"> <div class="ui-widget-proddesc infoBoxHeading"> <table border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td align="center" valign="top" width="300"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td align="left"><!-- Produkt Name start --><?php // to add a tick when the item is in the cart $products = $cart->get_products(); $in_cart = ''; for ($i=0, $n=sizeof($products); $i<$n; $i++) { $first = current(explode("{", $products[$i]['id'])); if ($first == $product_info['products_id']) { $in_cart = '<span class="ui-icon ui-icon-check" style="display: inline-block; vertical-align: middle;"></span>'; } } ?> <h1><?php echo $products_name; ?><?php echo $in_cart; ?></h1> <?php echo ARTICEL_NR . $product_info['products_model'], ''; ?> <!-- Produkt Name ende --> <hr /> <!-- Preis start --> <h2><?php if ( (tep_session_is_registered('wholesale_customers_id')) && ($wholesale_price = tep_get_products_wholesale_price($product_info['products_id'])) ) { echo $products_price; } else { ?></h2> <h2 id="display_price"><?php echo $products_price; ?></h2> <?php } ?><?php if (!empty($difference)) { echo '<span class="pricesavingstext">' . TEXT_PRICE_SAVINGS . '</span><span class="pricesavings">' . $difference . ' (' . $savings . '%)</span><br>'; } ?> <div class="base_price"> <!-- // Basispreis ergänzen BOF // --><?php IF (tep_not_null($products_base_price)) { $y_base_price = substr($products_base_price, 0, strrpos($products_base_price, " ")); $y_base_rest = substr($products_base_price, strrpos($products_base_price , ' ')); $products_base_price = $y_base_price; // prüfe auf Sonderangebot // // Wenn Sonderangebot, dann errechne Grundpreis wie folgt: // // ermittle base_price = base_price einlesen solange bis " " // // Faktor = Normalpreis : base_price // // spezial_base_price = Spezialpreis : Faktor // if (tep_not_null($new_price)) { $y_faktor=$product_info['products_price']/$y_base_price; $products_base_price=$new_price/$y_faktor; } $y_tax_rate = tep_get_tax_rate($product_info['products_tax_class_id']); $products_base_price = tep_add_tax($products_base_price, $y_tax_rate); // sicherheitshalber erst runden, dann auf 2 Stellen hinter dem Komma formatieren // $products_base_price=round($products_base_price,2); $products_base_price=sprintf("%01.2f",$products_base_price); $products_base_price = "(" . $products_base_price . $y_base_rest . ")"; echo $products_base_price; } ?><!-- // Basispreis ergänzen BOF // --></div> <!-- Preis ende --></td> </tr> </table> </td> </tr> <tr> <td align="center" valign="top" width="300"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td valign="top"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td valign="top"><!-- attribute start --><?php $products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$_GET['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "'"); $products_attributes = tep_db_fetch_array($products_attributes_query); if ($products_attributes['total'] > 0) { ?> <div class="ui-widget infoBoxContainer"> <div class="ui-widget-proddesc infoBoxHeading"> <hr> <h1><?php echo TEXT_PRODUCT_OPTIONS; ?></h1> <hr> <?php $products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$_GET['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "' order by popt.products_options_name"); $numberofopt = tep_db_num_rows($products_options_name_query); $opt_count = 0; $products_attributes = array(); while ($products_options_name = tep_db_fetch_array($products_options_name_query)) { array_push($products_attributes,$products_options_name['products_options_id']); $opt_count++; $products_options_array = array(); $products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$_GET['products_id'] . "' and pa.options_id = '" . (int)$products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)$languages_id . "'"); while ($products_options = tep_db_fetch_array($products_options_query)) { $products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']); if ($products_options['options_values_price'] != '0') { $products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') '; } } if (is_string($_GET['products_id']) && isset($cart->contents[$_GET['products_id']]['attributes'][$products_options_name['products_options_id']])) { $selected_attribute = $cart->contents[$_GET['products_id']]['attributes'][$products_options_name['products_options_id']]; } else { $selected_attribute = false; } ?><strong><?php echo $products_options_name['products_options_name'] . ':'; ?></strong><br /> <?php $comma = ""; $all_option_js = "["; for($t = 1;$t<=$numberofopt; $t++) { $all_option_js .= $comma.'document.getElementById(\'cmbooption_'.$t.'\').value'; $comma = ","; } $all_option_js .= "]"; ?><?php echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute, 'style="width: 250px;"' . ' id="cmbooption_'.$opt_count.'" onChange="getPrice('.$v_new_price.','.$v_products_price.','.(int)$_GET['products_id'].','.$all_option_js.')"'); ?><br /> <?php } ?></p><?php } ?><?php echo TEXT_NO_ATTRIBUTES;?> <input type="hidden" name="optionsid" id="optionsid" value="<?php echo implode(",",$products_attributes); ?>" /> <div style="clear: both;"></div> </div> </div> <!-- attribute ende --></td> </tr> </table> </td> </tr> </table> </td> </tr> <tr height="10"> <td valign="top" width="300" height="10"></td> </tr> <tr> <td valign="top" width="300"> <hr /> </td> </tr> <tr> <td align="left" valign="top" width="300"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="right" valign="top" width="35%"> <div class="buttonSet"> <table border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td align="center"><!-- Vervügbarkeit start --><?php if ($product_info['products_date_available'] > date('Y-m-d H:i:s')) { $avail = tep_image(DIR_WS_ICONS . 'blue.gif', AMP_TOMORROW , '10', '15'). " " . AMP_TOMORROW; } else { if ($product_info['products_quantity']<=0){ $avail = tep_image(DIR_WS_ICONS . 'red.gif', PICTURE_ONLY_ZERO , '10', '15'). " " . AMP_ONLY_ZERO; } else { $prod_quantity = tep_get_products_stock($product_info['products_id']); switch ($prod_quantity) { case 1: $avail = tep_image(DIR_WS_ICONS . 'yellow.gif', PICTURE_ONLY_ONE , '10', '15'). " " . AMP_ONLY_ONE; break; case 2: $avail = tep_image(DIR_WS_ICONS . 'yellow.gif', PICTURE_ONLY_TWO , '10', '15'). " " . AMP_ONLY_TWO; break; case 3: $avail = tep_image(DIR_WS_ICONS . 'green.gif', PICTURE_ONLY_THREE , '10', '15'). " " . AMP_ONLY_THREE; break; case 4: $avail = tep_image(DIR_WS_ICONS . 'green.gif', PICTURE_ONLY_FOUR , '10', '15') . " " . AMP_ONLY_FOUR; break; default: $avail = tep_image(DIR_WS_ICONS . 'green.gif', $prod_quantity . PICTURE_ONLY_FULL , '10', '15') . " " . AMP_ONLY_FULL; } } } $a = $avail; echo '<b>'. TEXT_QUANTITY_LIST .'</b>&nbsp;'; echo $a ?><!-- Vervügbarkeit ende --></td> </tr> <tr height="4"> <td align="center" height="4"></td> </tr> <tr> <td align="center"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center" width="200"><!-- Warenkorbbutton start --> <div class="buttonSet"> <span class="buttonAction"><?php echo '<span class="fieldValue">' . TEXT_ENTER_QUANTITY . ' ' . tep_draw_input_field('cart_quantity', '1', 'size="5" style="vertical-align:middle;"') . '</span> ' . tep_draw_hidden_field('products_id', $product_info['products_id']) . '&nbsp' . tep_draw_button(IMAGE_BUTTON_IN_CART, 'cart', null, 'primary'); ?></span></div> <!-- Warenkorbbutton ende --></td> </tr> </table> </td> </tr> <tr height="15"> <td height="15"> <hr> </td> </tr> <tr height="5"> <td height="5"></td> </tr> <tr> <td align="center"> <p><?php echo '<a href="#" onclick="window.close(); return false;">' . TEXT_CLOSE_WINDOW . '</a>'; ?> </td> </tr> <tr height="5"> <td align="center" height="5"></td> </tr> </table> </div> </td> </tr> </table> </td> </tr> </table> </td> </tr> </div> </div> </table> <?php } ?> <!-- Layouttabelle PC- Browseransicht ende --> <!-- GESAMT TABELLENLAYOUT ENDE --> </form> <script type="text/javascript"> <!-- getPrice(<?php echo $v_new_price.','.$v_products_price.','.(int)$_GET['products_id'].','.$all_option_js;?>); //--> </script> <?php } require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> Weitergeht es mit der Sprachdatei: attributte_popup.php <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2013 osCommerce Released under the GNU General Public License */ define('TEXT_PRODUCT_NOT_FOUND', 'Produkt wurde nicht gefunden!'); define('TEXT_MORE_INFORMATION', 'Für weitere Informationen, besuchen Sie bitte die <a href="%s" target="_blank"><u>Homepage</u></a> zu diesem Produkt.'); define('TEXT_PRODUCT_OPTIONS', '<font size="3" color="#b10000"><strong>Bitte treffen Sie Ihre Wahl:</strong></font>'); define('TEXT_ENTER_QUANTITY', 'Menge: '); define('AMP_TOMORROW', 'Artikel in k&uuml;rze wieder lieferbar!'); define('AMP_ONLY_FULL', 'Sofort lieferbar!'); define('AMP_ONLY_FOUR', 'Sofort lieferbar aber nur noch 4 mal vorr&auml;tig!'); define('AMP_ONLY_THREE', 'Sofort lieferbar aber nur noch 3 mal vorr&auml;tig!'); define('AMP_ONLY_TWO', 'Sofort lieferbar aber nur noch 2 mal vorr&auml;tig!'); define('AMP_ONLY_ONE', 'Sofort lieferbar aber nur noch 1 mal vorr&auml;tig! Greifen Sie schnell zu.'); define('AMP_ONLY_ZERO', 'Derzeit nicht lieferbar!'); define('TEXT_QUANTITY_LIST', 'Verf&uuml;gbarkeit:'); define('TEXT_PRICE_SAVINGS','Sie sparen: '); define('TEXT_NO_ATTRIBUTES','<font size="2" color="#990000"><b>Keine weiteren Produktextras.</b></strong></font>'); define('TEXT_CLOSE_WINDOW','<font size="3" color="#990000">X </font><font size="2" color="#000000"><b>Fenster schliessen</b></strong></font>'); define('TEXT_CLOSE_WINDOW_MOBILE','<font size="6" color="#990000">X </font><font size="6" color="#000000"><b>Fenster schliessen</b></strong></font>'); ?> INSERT INTO `configuration` VALUES (914, 'Direktkauf Popup ermöglichen', 'SHOW_BUY_NOW_PROD_ATTRIB', 'true', 'Direktkauf trotz Atribute ermöglichen', 1, 158, '2006-08-12 19:45:03', '2003-08-14 00:25:08', NULL, 'tep_cfg_select_option(array(''false'', ''true''),'); Abfragen über: if (SHOW_BUY_NOW_PROD_ATTRIB == 'true') { } else { } ************************************************************** catalog/includes/languages/german.php define('TEXT_QUANTITY_LIST', 'Verfügbarkeit'); define('TEXT_ENTER_QUANTITY', 'Menge: '); define('TEXT_CLOSE_WINDOW', 'X Fenster schliessen'); define('IMAGE_BUTTON_PROD_ATTRIBUTES', 'In den Warenkorb legen '); ***************************************************** catalog/includes/filenames.php define('FILENAME_ATTRIBUTE_POPUP', 'attributte_popup.php'); ***************************************************** catalog/images/icons/ Erstellen von Verfügbarkeitsicons yellow.gif green.gif red.gif blue.gif ***************************************************** catalog/includes/modules/product_listing.php finden: case 'PRODUCT_LIST_BUY_NOW': $prod_list_contents .= ' <td align="center">' . tep_draw_button(IMAGE_BUTTON_BUY_NOW, 'cart', tep_href_link($PHP_SELF, tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id'])) . '</td>'; break; ersätzen mit: case 'PRODUCT_LIST_BUY_NOW': if (SHOW_BUY_NOW_PROD_ATTRIB == 'false') { $prod_list_contents .= ' <td align="center">' . tep_draw_button(IMAGE_BUTTON_BUY_NOW, 'cart', tep_href_link($PHP_SELF, tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id'])) . '</td>'; }else{ $prod_list_contents .= ' <td align="center">' . tep_draw_button(IMAGE_BUTTON_BUY_NOW, 'plusthick', tep_href_link(FILENAME_ATTRIBUTE_POPUP, 'products_id=' . $listing['products_id']) . '"target="_blanc"' ). '</td>'; } break; Hier der Code vom Ingo für das Popup. <script type="text/javascript"> function openWinYepi() { winx0 = (window.screenLeft != undefined ? window.screenLeft : window.screenX) + 50; window.open('<?php echo tep_href_link(FILENAME_ATTRIBUTE_POPUP, 'products_id=' . $all_products['products_id']); ?>', 'yepiPopWindow', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width=300,height=650,screenX='+ winx0 + ',screenY=150,top=150,left=' + winx0); } </script> <?php $params = array( 'type' => 'button', 'newwindow' => true, 'params' => 'onclick="openWinYepi();return false;"' ); if (SHOW_BUY_NOW_PROD_ATTRIB == 'true') { echo tep_draw_button(IMAGE_BUTTON_PROD_ATTRIBUTES, 'lightbulb', tep_href_link(FILENAME_ATTRIBUTE_POPUP, 'products_id=' . $all_products['products_id']), null, $params); } ?> für jede Hilfe bin ich dankbar um dieses zu verbessern.
  11. java popup

    Danke Ingo, Alles klappt super bis auf die products_id Sobald das popup aufgeht zeigt der mir ein anderes Produkt als das was eigentlich kommen sollte. Was aber komisch ist, wenn ich mit der maus über den Button fahre kommt die richtige ID beim anklicken jedoch wird ein anderes Produkt aufgerufen.
  12. Versucht euren code grundsätzlich mit $_GET zu halten anstatt mit $HTTP_GET_VARS
  13. Also für alle interessierten die wissen möchten wie es funktioniert bereits getätigte Bestellungen erneut in den Warenkorb zu legen. Hierbei werden allerdings Keine Attribute übernommen und somit das Produkt das Attribute aufweist abgestossen. Optional dazu gibt es die Möglichkeit die zu übergehen und das Produkt ohne diese in den Warenkorb zu legen. catalog/includes/functions/general.php Diesen Abschnitt: // Check if product has attributes function tep_has_product_attributes($products_id) { $attributes_query = tep_db_query("select count(*) as count from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id = '" . (int)$products_id . "'"); $attributes = tep_db_fetch_array($attributes_query); if ($attributes['count'] > 0) { return true; } else { return false; } } Mit diesem ersetzen: // Check if product has attributes function tep_has_product_attributes($products_id) { $attributes_query = tep_db_query("select count(*) as count from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id = '" . (int)$products_id . "'"); $attributes = tep_db_fetch_array($attributes_query); if ($attributes['count'] > 0) { return false; } else { return false; } } *********************************************************************************************** Weiter mit dem Hauptthema. Hier gibt es vier Dateien die bearbeitet werden müssen.Es handelt sich um die Dateien "account_history_info.php", die "application_top.php", die "general.php" und die "german.php" .Als aller erstes erstellen Sie eine Kopie der Dateien, die wir bearbeiten werden in einem separaten Ordner.catalog/account_history_info.phpFinde:<?php if (DOWNLOAD_ENABLED == 'true') include(DIR_WS_MODULES . 'downloads.php'); ?> davor einfügen:<div class="buttonSet"> <?php echo tep_draw_form('order_reorder', tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $_GET['order_id'] . '&action=reorder', 'SSL')); echo '<td valign="middle" align="center">' . tep_draw_button(IMAGE_BUTTON_REORDER, 'triangle-1-w', 'Re-Order','','update_button') . '</td>'; echo '</form>'; ?> </div>catalog/includes/application_top.phpFinde:$cart->add_cart($HTTP_GET_VARS['pid'], $cart->get_quantity($HTTP_GET_VARS['pid'])+1); } } tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters))); break;danach einfügen:case 'reorder' : $reorder_result = tep_reorder($_GET['order_id']); if ($reorder_result == '') { tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING)); } break;catalog/includes/functions/general.phpFinde am Ende der Datei:?>davor einfügen:function tep_reorder ($orders_id) { global $cart, $languages_id; $result = ''; $ordered_products_query = tep_db_query("select op.products_id, op.orders_products_id, op.products_quantity, p.products_status, p.products_model, p.products_quantity as stock, pd.products_name from " . TABLE_ORDERS_PRODUCTS . " op, " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where op.orders_id = '" . $orders_id . "' and op.products_id = p.products_id and p.products_id = pd.products_id and pd.language_id = '" . $languages_id . "'"); while ($ordered_product = tep_db_fetch_array($ordered_products_query)) { if ($ordered_product['products_status'] == '1') { if (!tep_has_product_attributes($ordered_product['products_id'])) { if ($ordered_product['stock'] >= ($cart->get_quantity($ordered_product['products_id'])+$ordered_product['products_quantity'])) { $cart->add_cart($ordered_product['products_id'], $cart->get_quantity($ordered_product['products_id'])+$ordered_product['products_quantity']); } else { $result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Not enough stock<br>'; } } else { $attributes = array(); $attributes_count = 0; $attributes_query = tep_db_query("select po.products_options_id , pov.products_options_values_id from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " opa, " . TABLE_PRODUCTS_OPTIONS . " po, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where opa.orders_id = '" . $orders_id . "' and opa.orders_products_id = '" . $ordered_product['orders_products_id'] . "' and po.products_options_name = opa.products_options and po.language_id = '" . $languages_id . "' and pa.options_id = po.products_options_id and pa.options_values_id = pov.products_options_values_id and pa.products_id = '" . $ordered_product['products_id'] . "' and pov.products_options_values_name = opa.products_options_values and pov.language_id = '" . $languages_id . "'"); while ($attribute = tep_db_fetch_array($attributes_query)) { $attributes[$attribute['products_options_id']] = $attribute['products_options_values_id']; $attributes_count++; } if ($attributes_count < 1) { $result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Attributes changed<br>'; } if ($ordered_product['stock'] >= ($cart->get_quantity(tep_get_uprid($ordered_product['products_id'], $attributes))+$ordered_product['products_quantity'])) { $cart->add_cart($ordered_product['products_id'], $cart->get_quantity(tep_get_uprid($ordered_product['products_id'], $attributes))+$ordered_product['products_quantity'], $attributes); } else { $result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Not enough stock (attr)<br>'; } } } else { $result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Not Available<br>'; } } return $result; }catalog/includes/languages/german.phpFinde:define('IMAGE_BUTTON_ADD_ADDRESS', 'Neue Adresse');davor einfügen:define('IMAGE_BUTTON_REORDER', 'Erneut bestellen');Speichern Sie diese Dateien.Übertragt jetzt die Dateien mittels FTP in die entsprechenden Verzeichnisse auf Ihrem Server und es ist geschafft. Ich hoffe Ihr könnt damit etwas anfangen.
  14. Muss mal gesagt werden.

    Also erstens. Falls Du auf mein Posting damit Argumetntieren willst so muss ich sagen dass man erst lesen dann überlegen und dann schreiben soll. Bei der Abfrage nach Attributen in der general.php wird jedes Produkt der Attribute aufweist auf die product_info.php geleitet. Dies kann mit der kleinen Änderung jedoch abgestellt werden und genau das soll deiner Meinung nach wie du es so nennst den "CORE" versauen ? also bitte. hier mal dein erster Widerspruch in sich selbst: Zweitens. Niemand hier erschleicht sich irgendwelche Leistungen, denn hier ist nicht die ARGE oder MYHammer oder ähnliches. Hier wird um Hilfe gebeten oder nach einem Rat gefragt und wer sich angesprochen fühlt der hilft oder eben nicht. Drittens. Es sollte niemandem hier glaubhaft gemacht werden, dass hier nur gegen Bezahlung geholfen wird ! Dieses Forum dient dazu um sich gegenseitig zu helfen. Und zum Schluss muss ich noch mal loswerden, dass alle neuen Erweiterungen, die auch tadellos funktionieren und etliche Tests bestanden haben veröffentlicht werden. Anschliessend kann jeder selbst entscheiden ob diese etwas taugen oder nicht. Also möchte ich nochmals und mit Ausdruck darauf hinweisen dass solche Aussagen die Oben geschrieben wurden hier nicht erwünscht sind.
  15. Ist nicht. genau dieser Code hat es erlaubt Produkte in den Warenkorb zu legen ohne auf die product_info.php geleitet zu werden. Ansonsten sind alle Funktionen im Shop absolut in ordnung und werden nicht beeinflusst.