/** * 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['my_custom_fields'] = $result; } [입시정보/리뷰] 입시, 대안을 이야기하다. 결국은 선택의... | 시민정치마당 주요 콘텐츠로 건너뛰기
사이드바

[입시정보/리뷰] 입시, 대안을 이야기하다.

결국은 선택의...

수, 2017/07/26- 18:18익명 (미확인) 에 의해 제출됨
관련 개인/그룹
지역
[입시정보/리뷰] 입시, 대안을 이야기하다. 결국은 선택의 문제다. 부동산을 거주가 아닌 투자의 수단으로 삼는 것과 같이 지금 우리 사회는 교육을 배움과 성장이 아닌 출세의 수단으로 삼고 있다. 비교를 통해 가치를 결정하고 불안과 욕망으로 아이들을 경쟁 시키고 있다. 이제 우리는 무엇을 선택할 것인가? 불안과 욕망으로 남들처럼 선택할 것인가? 아니면 불안과 욕망을 이겨내고 남들과 다르게 선택할 것인가? 어떤 것이 우리 아이들에게 진정한 도움이 되는 선택이겠는가? https://goo.gl/Gsv2Na

Tags

댓글 달기