Warenkorb

  • Produkt (Weiterbildung) wird dem Einkaufskorb hinzugefügt
    membership/purchase/%, %=mpid
  • :?: Nettopreis (amount) wird aus ms_membership_plan.main_amount genommen
  • FIXME→WichtigeFelder
  • Datensatz in db:ms_cart_products
  • Ändern geht nicht, löschen im Warenkorb
  • FIXME Was ist mit den Produkten im Warenkorb, wenn sich der Preis oder MwSt geändert hat?
    • :?: Preis: Produkt aus allen Warenkörben entfernen
    • :?: MwSt: Alle Warenkörbe leeren

Function (ms_membership.module) ms_membership_purchase_membership($mpid)

  • $m_plan = ms_membership_load_membership_plan($mpid);
  • ? ms_membership_plan_is_free($m_plan)
    • ja: change_roles, status=3, insert_membership, prepare_mail, notify_admins
    • nein:
      • $product = ms_core_new_product()
        • !!! $product.amount = $m_plan.main_amount;
      • (?recurring):
        • $product.type='recurring',
        • $product.recurring_schedule=array(…$m_plan)
      • ms_core_add_cart_product()
        • $cart = ms_core_get_cart()
          • cid = uid || $_SESSION['ms_cart_id']
          • $cart = new MsOrder()
          • $cart.products = ms_core_get_cart_products($cid);
          • $cart.adjustments = ms_core_get_cart_adjustments($cid);
          • $cart.order_type = 'cart';
          • $cart.data = $data; –extra data
        • hook_ms_cart_add, hook_ms_cart_added_product_alter
        • (?single), (?recurring)
        • INSERT INTO {ms_cart_products}
        • rules: ms_core_event_product_add_to_cart
        • hook_ms_cart_added
      • ms_core_checkout();
        • drupal_goto('ms/checkout')

afoma/weiterbildung/warenkorb.txt · Zuletzt geändert: 2022/06/06 15:13 von 127.0.0.1
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki