Mam na imie Marta i jestem zupelnie zielona w temacie PHP. Niedawno sama otwarlam sobie sklep oparty o engine zencart. (Tutaj sklep)Jest to sklep z produktami wirtualnymi. Wszystko dziala jak trzeba. Jednak od niedawna oferuje w swoim sklepie produkty w tzw. systemie Pay Whay You Want. W tej kategorii produkt w sklepie mozna kupic za dowolna sumie ( min. ustawione na 1 euro). Znalazlam przydatny kod na stronie pomocy zencart. Kod ten ustawia produkt typu donation dla wybranego ID produktu.
Oto kod:
<!--bof Add to Cart Box --> <?php if (CUSTOMERS_APPROVAL == 3 and TEXT_LOGIN_FOR_PRICE_BUTTON_REPLACE_SHOWROOM == '') { // do nothing } else { ?> <?php $display_qty = (($flag_show_product_info_in_cart_qty == 1 and $_SESSION['cart']->in_cart($_GET['products_id'])) ? '<p>' . PRODUCTS_ORDER_QTY_TEXT_IN_CART . $_SESSION['cart']->get_quantity($_GET['products_id']) . '</p>' : ''); if ($products_qty_box_status == 0 or $products_quantity_order_max== 1) { // hide the quantity box and default to 1 $the_button = '<input type="hidden" name="cart_quantity" value="1" />' . zen_draw_hidden_field('products_id', (int)$_GET['products_id']) . zen_image_submit(BUTTON_IMAGE_IN_CART, BUTTON_IN_CART_ALT); } else { /* Alternate code to change text for donation. as per <a href="https://www.zen-cart.com/forum/showthread.php?t=115475" target="_blank">https://www.zen-cart.com/forum/showthread.php?t=115475</a> */ // the alternate text - products_id would be the id of your donation product: if ($_GET['products_id'] == 103) { $add_text = 'Amount: $'; $button_image = 'donate.png'; $button_alt = 'Donate'; } else { $add_text = PRODUCTS_ORDER_QTY_TEXT; $button_image = BUTTON_IMAGE_IN_CART; $button_alt = BUTTON_IN_CART_ALT; } // show the quantity box - // Everything is the same here, except at very beginning and at end: $the_button = $add_text . '<input type="text" name="cart_quantity" value="' . (zen_get_buy_now_qty($_GET['products_id'])) . '" maxlength="6" size="4" /><br />' . zen_get_products_quantity_min_units_display((int)$_GET['products_id']) . '<br />' . zen_draw_hidden_field('products_id', (int)$_GET['products_id']) . zen_image_submit($button_image, $button_alt); } $display_button = zen_get_buy_now_button($_GET['products_id'], $the_button); ?> <?php if ($display_qty != '' or $display_button != '') { ?> <div id="cartAdd"> <?php ?> </div> <?php } // display qty and button ?> <?php } // CUSTOMERS_APPROVAL == 3 ?>
Po wklejeniu go do pliku tpl_product_info_display.php udalo mi sie osiagnac to, ze produkt o danym ID w moim przypadku 103 został sklasyfikowany jak trzeba i nawet ma inny button. I do tej pory wszystko pięknie. O co mi chodzi? Chciałabym, aby ten kod robil to dla calej kategori produktow a nie jednego produktu. Czy można dodać więcej zmiennych po 103? I jak? Jak zmodyfikować kod aby stosował się dla całej kategorii (ID 29)? Próbowałam zamiast products_ID wpisać categories_ID i nie zadziałało. Proszę o rade i pomoc.