/** * 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; } 노동당 | 시민정치마당 주요 콘텐츠로 건너뛰기
사이드바

노동당

금, 2017/08/04- 20:50익명 (미확인) 에 의해 제출됨



[취재요청] “‘핵과 전쟁 없는 세상의 날’을 시작하자!” 히로시마 원폭 투하 72주기 기자회견 - 일시/장소 : 8월 5일(토) 13:00 청와대 분수대 광장 히로시마 원폭 투하 72주기를 하루 앞둔 8월 5일(토), 노동당은 오후 1시 청와대 분수대 광장에서 기자회견을 열고 8월 6일을 ‘핵과 전쟁 없는 세상의 날’로 삼을 것을 제안할 계획입니다. 이와 함께 ▲ 핵무기와 핵발전소 등 모든 핵 반대 ▲ 사드 배치 철회 ▲ 미일 제국주의 전쟁 책동 중단을 주장합니다. 이 기자회견은 노동당, 노동당 서울시당 녹색위원회, 평등노동자회, AWC 한국위원회, 인권네트워크 사람들이 함께합니다. 자세한 내용 보러 가기>> http://www.laborparty.kr/1736972 #노동당 #히로시마 #탈핵

댓글 달기

CAPTCHA
스펨 사용자 차단 질문