Witam,
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:
  1. <!--bof Add to Cart Box -->
  2. <?php
  3. if (CUSTOMERS_APPROVAL == 3 and TEXT_LOGIN_FOR_PRICE_BUTTON_REPLACE_SHOWROOM == '') {
  4. // do nothing
  5. } else {
  6. ?>
  7. <?php
  8. $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>' : '');
  9. if ($products_qty_box_status == 0 or $products_quantity_order_max== 1) {
  10. // hide the quantity box and default to 1
  11. $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);
  12. } else { /* Alternate code to change text for donation.
  13.   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>
  14.  */
  15. // the alternate text - products_id would be the id of your donation product:
  16. if ($_GET['products_id'] == 103) {
  17. $add_text = 'Amount: $';
  18. $button_image = 'donate.png';
  19. $button_alt = 'Donate';
  20. } else {
  21. $add_text = PRODUCTS_ORDER_QTY_TEXT;
  22. $button_image = BUTTON_IMAGE_IN_CART;
  23. $button_alt = BUTTON_IN_CART_ALT;
  24. }
  25. // show the quantity box -
  26. // Everything is the same here, except at very beginning and at end:
  27. $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);
  28. }
  29. $display_button = zen_get_buy_now_button($_GET['products_id'], $the_button);
  30. ?>
  31. <?php if ($display_qty != '' or $display_button != '') { ?>
  32. <div id="cartAdd">
  33. <?php
  34. echo $display_qty;
  35. echo $display_button;
  36. ?>
  37. </div>
  38. <?php } // display qty and button ?>
  39. <?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.