/** * 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; } 광명일보 - 철산1동 통장협의회, 여성 의용소방대로부터 '심폐소생술 교육' 받아! | 시민정치마당 주요 콘텐츠로 건너뛰기
사이드바

광명일보 - 철산1동 통장협의회, 여성 의용소방대로부터 '심폐소생술 교육' 받아!

토, 2025/06/14- 00:00admin 에 의해 제출됨
관련 개인/그룹
지역

철산1동 통장협의회(회장 임경연)는 지난 12일 철산1동 행정복지센터 3층 강당에서 통장과 직원들을 대상으로 '심폐소생술 교육'을 실시했다고 밝혔다.이번 교육은 광명소방서 여성 의용소방대가 진행했으며, 위급 상황에서 신속하고 정확한 응급처치 능력 향상을 목표로 했다.교육은 심정지 환자 발견 시 대응 요령, 애니 모형을 활용한 심폐소생술 실습, 자동심장충격기(AED) 사용법 등 실제 상황을 반영한 체험형 프로그램으로 구성됐다.임경연 회장은 “실제 상황처럼 애니 모형을 활용해 심폐소생술을 직접 체험할 수 있어 매우 뜻깊고 유익한 시간이

댓글 달기

CAPTCHA
스펨 사용자 차단 질문