/** * Implements hook_preprocess_commerce_checkout_form(). */ function bootstrap_barrio_subtheme_preprocess_commerce_checkout_form(&$variables) { $form = &$variables['form']; $custom_fields = []; // 주문 엔터티 추출 시도 $order = NULL; $possible_keys = ['#order', 'order', '#entity', 'checkout']; foreach ($possible_keys as $key) { if (!empty($form[$key]) && $form[$key] instanceof \Drupal\commerce_order\Entity\OrderInterface) { $order = $form[$key]; \Drupal::logger('mytheme')->debug('Order found with key: @key', ['@key' => $key]); break; } } // 대체 방법: 현재 체크아웃 단계에서 주문 엔터티 로드 if (!$order) { $checkout_flow = \Drupal::routeMatch()->getParameter('commerce_checkout_flow'); if ($checkout_flow) { $order = \Drupal::routeMatch()->getParameter('commerce_order'); \Drupal::logger('mytheme')->debug('Order loaded from route: @order_id', ['@order_id' => $order ? $order->id() : 'none']); } } if ($order && $order instanceof \Drupal\commerce_order\Entity\OrderInterface) { foreach ($order->getItems() as $order_item) { $variation = $order_item->getPurchasedEntity(); $product = $variation ? $variation->getProduct() : NULL; if ($product) { $footer_block_value = $product->hasField('field_footer_block') && !$product->field_footer_block->isEmpty() ? $product->field_footer_block->value : 'N/A'; $custom_fields[] = [ 'footer_block' => $footer_block_value, ]; \Drupal::logger('mytheme')->debug('Field footer_block value: @value for product: @product_id', [ '@value' => $footer_block_value, '@product_id' => $product->id(), ]); } else { \Drupal::logger('mytheme')->debug('No product found for order item: @id', ['@id' => $order_item->id()]); } } } else { $custom_fields[] = ['footer_block' => '주문 엔터티를 찾을 수 없습니다.']; \Drupal::logger('mytheme')->debug('No order entity found. Form keys: @keys', ['@keys' => implode(', ', array_keys($form))]); } $variables['custom_fields'] = $custom_fields; $variables['form_keys'] = array_keys($form); } function bootstrap_barrio_subtheme_preprocess_commerce_checkout_order_summary(&$variables) { /** @var \Drupal\commerce_order\Entity\OrderInterface $order */ $order = $variables['order_entity']; $result = []; foreach ($order->getItems() as $item) { $variation = $item->getPurchasedEntity(); // 커스텀 필드값 가져오기 (배열 형태). $values = $variation->get('field_my_field')->getValue(); // 예: 각 라인아이템 별로 값 저장. $result[$item->id()] = $values; } $variables['body'] = $result; } 3월 17일(수) 저녁 8시 서울시장 보궐선거에 관심있는 청년들이 함께 이야기 나눌 수 있는 공론장이 열립니다. 주제로는 불평등(주거, 노동), 젠더, 기후위기, 청년참여 와 관련된 이야기를 나눕니다. 공론장에 참여하고 싶... | 시민정치마당 주요 콘텐츠로 건너뛰기
사이드바

3월 17일(수) 저녁 8시 서울시장 보궐선거에 관심있는 청년들이 함께 이야기 나눌 수 있는 공론장이 열립니다.

주제로는 불평등(주거, 노동), 젠더, 기후위기, 청년참여 와 관련된 이야기를 나눕니다.

공론장에 참여하고 싶...

금, 2021/03/12- 23:33admin 에 의해 제출됨
관련 개인/그룹
지역
카테고리







3월 17일(수) 저녁 8시 서울시장 보궐선거에 관심있는 청년들이 함께 이야기 나눌 수 있는 공론장이 열립니다.



주제로는 불평등(주거, 노동), 젠더, 기후위기, 청년참여 와 관련된 이야기를 나눕니다.



공론장에 참여하고 싶으신 분은 연락처를 남겨주시면 당일에 들어오실 수 있도록 문자를 보내드리겠습니다.



[서울시장 보궐선거, 뭘 기대할 수 있을까요?]



일시 : 3월 17일 수요일 저녁 8시 - 9시반

신청링크 : http://bit.ly/vote_for_what

주최 : 서울시장 보궐선거 대응을 위한 청년활동가 네트워크

문의 : [email protected] / 이채은

댓글 달기

CAPTCHA
스펨 사용자 차단 질문