Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- use DrupalCoreFormFormStateInterface;
- use Drupalcommerce_orderEntityOrder;
- use SymfonyComponentHttpFoundationRedirectResponse;
- /**
- * Implements hook_form_FORM_ID_alter().
- */
- function commerce_custom_form_commerce_order_item_add_to_cart_form_alter(&$form, FormStateInterface $form_state, $form_id) {
- $form['actions']['submit']['#value']='Sponsor';
- $form['#validate'][] = 'commerce_custom_form_validate';
- $form['actions']['submit']['#submit'][] = 'commerce_custom_cart_alter_redirect';
- }
- function commerce_custom_form_validate(array &$form, FormStateInterface $form_state) {
- $user = Drupal::currentUser()->id();
- $connection = Drupal::database();
- $query = $connection->query("select * from commerce_order_item join commerce_order on commerce_order_item.order_id = commerce_order.order_id where uid = :user and state = 'draft'", [':user' => $user]);
- $result = $query->fetchAll();
- //dpm($result);
- $cart_count = $result[0]->quantity;
- $order_id = $result[0]->order_id;
- if ($cart_count > 0 && $order_id) {
- $order = Drupal::entityTypeManager()->getStorage('commerce_order')->load($order_id);
- $items = $order->getItems();
- foreach($items as $item_key => $item) {
- $order->removeItem($item);
- $item->delete();
- }
- }
- }
- function commerce_custom_cart_alter_redirect(&$form, FormStateInterface $form_state) {
- $responce = new RedirectResponse('/how-it-works');
- $responce->send();
- }
- <?php
- namespace Drupalcommerce_customPluginBlock;
- use DrupalCoreBlockBlockBase;
- class ContinueCheckoutBlock extends BlockBase {
- public function build() {
- $user = Drupal::currentUser()->id();
- $connection = Drupal::database();
- $query = $connection->query("select * from commerce_order_item join commerce_order on commerce_order_item.order_id = commerce_order.order_id where uid = :user and state = 'draft'", [':user' => $user]);
- $result = $query->fetchAll();
- $order_id = $result[0]->order_id;
- return array(
- '#type' =>'markup',
- '#markup' => '<a href=checkout/' . $order_id . '/order_information class=button>Continue</a>',
- );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement