ファンクション
wcexics_get_multiselect_items_form( Aivec\Welcart\Extensions\ItemComboSet\Types\ComboGroup $group, Aivec\Welcart\Extensions\ItemComboSet\Types\GroupItem[] $items, array $selection )
パラメータ パラメータ
- $group
(ComboGroup) (必須)
- $items
(GroupItem[]) (必須)
- $selection
(配列) (必須)
ファイル: src/template-functions.php
function wcexics_get_multiselect_items_form($group, $items, $selection) { $hookargs = [ 'sessionSelections' => $selection, 'groupItems' => $items, 'group' => $group, ]; $targetcombosetid = isset($_SESSION['wcexicsComboSetId']) ? (int)$_SESSION['wcexicsComboSetId'] : null; $gname = "wcexicsGroups[{$group->getComboSetId()}][{$group->getId()}][]"; ob_start(); foreach ($items as $item) { $id = 'combo-set-group-item_' . $item->getId(); $checked = in_array($item->getId(), $selection, true); ?> <div> <input type="checkbox" class="combo-set-group-item" data-item-id="<?php echo $item->getId(); ?>" id="<?php echo esc_attr($id); ?>" name="<?php echo esc_attr($gname); ?>" value="<?php echo esc_attr($item->getId()); ?>" data-group-id="<?php echo esc_attr($item->getGroupId()); ?>" <?php echo $checked ? ' checked' : ''; ?> /> <label for="<?php echo esc_attr($id); ?>"> <?php echo wcexics_get_group_item_label($item); ?> </label> </div> <div id="group-item-details_<?php echo $item->getId(); ?>" class="combo-set-form__group-item-details" <?php echo !$checked ? ' style="display: none"' : ''; ?> > <?php $skucode = urlencode($item->getSkuData()['code']); $errors = usces_singleitem_error_message($item->getPostId(), $skucode, 'return'); if (!empty($errors) && $group->getComboSetId() === $targetcombosetid) { $ehtml = '<div class="wcexics_errors">'; $ehtml .= $errors; $ehtml .= '</div>'; $ehtml = apply_filters( 'wcexics_filter_multiselect_group_item_error_html', $ehtml, array_merge( $hookargs, [ 'errors' => $errors, 'item' => $item, 'checked' => $checked, ] ) ); echo $ehtml; } wcexics_display_item_options($item); ?> </div> <?php } $html = (string)ob_get_clean(); $html = apply_filters('wcexics_filter_multiselect_items_form_html', $html, $hookargs); return $html; }