/** * 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('body')->getValue(); // 예: 각 라인아이템 별로 값 저장. $result[$item->id()] = $values; } $variables['body'] = $result; } 사진·영상 | 시민정치마당 주요 콘텐츠로 건너뛰기
사이드바

사진·영상 태그글 모음

결과값: 26 - 50 of 107

마지막 대선토론회가 곧 시작됩니다


댓글: 0  조회수: 23

끝까지 간다


댓글: 0  조회수: 29

오늘 밤 10시 SBS 페이스북 라이브 토크쇼를 주목해주세요

오늘 밤 10시 SBS가 진행하는 페이스북 라이브 토크쇼에 유승민 후보가 출연합니다. 대선주자들과 실시간으로 질문을 주고 받는 라이브 토크쇼는 생중계로 진행되며 SBS의 페이스북…

댓글: 0  조회수: 20

유담 응원 영상 공개(신스틸러 주의)


댓글: 0  조회수: 18

토론회 어떻게 보셨나요?

'또', '역시나' 이번에도 유승민은 최고의 평가를 받았습니다. 우리 대한민국의 수많은 문제를 해결할 '방법'을 아는 대통령, '능력'을 갖춘 대통령, '용기'가 있는 대통령,…

댓글: 0  조회수: 26

유승민, 사퇴를 말하다


댓글: 0  조회수: 179

[재외국민 투표안내] 바다를 건너오는 소중한 한 표, 기다립니다

보고싶은 재외국민 여러분! 어떻게 지내고 계신가요? 오늘부터 '제19대 대통령 재외선거'가 시작됩니다! 재외선거 투표기간은 4월25~30일(6일)이며, 투표시간은 매일 8:00…

댓글: 0  조회수: 57

보수의 새희망, 유승민입니다


댓글: 0  조회수: 61

선관위 초청 1차 토론회가 생중계 됩니다.

오늘 밤 8시 선관위 초청 1차 토론회가 열립니다KBS 1TV, SBS, MBC 3사 생중계될 예정입니다 국민여러분들께서 두 눈으로 직접어떤 후보가 적합한지 검증해 주시기…

댓글: 0  조회수: 46

[4월 21일 데일리 유승민] 희망페달 자전거 유세단 발대식

우리가 선거까지 남은 18일 동안 정말 죽을 힘을 다해서 하면 국민들의 마음이 바뀔 것입니다. 이 자전거를 타고 국민들께 우리가 하고 싶은 새로운 정치에 대해 말씀드리기를…

댓글: 0  조회수: 327

방송기자클럽 초정 대선후보 토론회


댓글: 0  조회수: 51