Post by vorsta » Sun Aug 05, 2018 6:04 pm

This question is about Opencart 2.3.x Options. I have a lot of options with many choices for select, and most of them is multiselect options. If I'll do it as checkbox it will be a long list of choices, what is very complicated. Is it possible to make Checkbox Option as dropdown? If I right understand I must edit catalog/view/theme/...theme.../template/product/product.tpl :

[code<?php // Product Options ---------------------------------------------- ?>

<?php $tbData->slotStart('product/product.product_options', array('data' => $data)); ?>
<?php if ($options || $recurrings): ?>
<?php if ($tbData['system.product_options']['block_title']): ?>
<div class="panel-heading">
<h2 class="panel-title"><?php echo $text_option; ?></h2>
</div>
<?php endif; ?>

<?php $tbData->slotFilter('product/product_options.filter', $options, array('data' => $data)); ?>
<div class="options panel-body form-horizontal">

<?php foreach ($options as $option) { ?>

<?php // SELECT ?>
<?php if ($option['type'] == 'select') { ?>
<div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>">
<label class="control-label" for="input-option<?php echo $option['product_option_id']; ?>"><?php echo $option['name']; ?></label>
<div class="col-sm-9">
<select name="option[<?php echo $option['product_option_id']; ?>]" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control">
<option value=""><?php echo $text_select; ?></option>
<?php foreach ($option['product_option_value'] as $option_value) { ?>
<option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
<?php if ($option_value['price']) { ?>
(<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
<?php } ?>
</option>
<?php } ?>
</select>
</div>
</div>
<?php } ?>

<?php // RADIO ?>
<?php if ($option['type'] == 'radio') { ?>
<div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?><?php if (isset($option['tb_css_classes']) && !empty($option['tb_css_classes'])) echo' tb_' . $option['tb_css_classes']; ?>">
<?php if ($tbData->OcVersionGte('2.3.0.0') && !empty($option['tb_css_classes']) && $option['tb_css_classes'] == 'style_2' && isset($option['image_width'])): ?>
<style scoped>
#input-option<?php echo $option['product_option_id']; ?> img {
width: <?php echo $option['image_width']; ?>px;
height: <?php echo $option['image_height']; ?>px;
}
</style>
<?php endif; ?>
<label class="control-label"><?php echo $option['name']; ?></label>
<div class="col-sm-9">
<div id="input-option<?php echo $option['product_option_id']; ?>">
<?php foreach ($option['product_option_value'] as $option_value) { ?>
<div class="radio<?php if (!empty($option_value['image']) && $tbData->OcVersionGte('2.3.0.0')): ?> image<?php endif; ?>">
<label<?php if (isset($option['tb_css_classes']) && !empty($option['tb_css_classes']) && $option['tb_css_classes'] == 'style_2'): ?> class="tb_bg_str_2 tb_bg_hover_str_3"<?php endif; ?><?php if ($option_value['price']) { ?> title="<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>"<?php } ?>>
<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" />
<?php if ($tbData->OcVersionGte('2.3.0.0')): ?>
<?php if ($option_value['image']) { ?>
<img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" />
<?php } ?>
<?php endif; ?>
<span>
<?php echo $option_value['name']; ?>
<?php if ($option_value['price']) { ?><span>
(<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
</span><?php } ?>
</span>
</label>
</div>
<?php } ?>
</div>
</div>
</div>
<?php } ?>

<?php // CHECKBOX ?>
<?php if ($option['type'] == 'checkbox') { ?>
<div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?><?php if (isset($option['tb_css_classes']) && !empty($option['tb_css_classes'])) echo' tb_' . $option['tb_css_classes']; ?>">
<?php if ($tbData->OcVersionGte('2.2.0.0') && !empty($option['tb_css_classes']) && $option['tb_css_classes'] == 'style_2' && isset($option['image_width'])): ?>
<style scoped>
#input-option<?php echo $option['product_option_id']; ?> img {
width: <?php echo $option['image_width']; ?>px;
height: <?php echo $option['image_height']; ?>px;
}
</style>
<?php endif; ?>
<label class="control-label"><?php echo $option['name']; ?></label>
<div class="col-sm-9">
<div id="input-option<?php echo $option['product_option_id']; ?>">
<?php foreach ($option['product_option_value'] as $option_value) { ?>
<?php if ($tbData->OcVersionGte('2.2.0.0')): ?>
<div class="checkbox<?php if ($option_value['image']) echo ' image'; ?>">
<?php else: ?>
<div class="checkbox<?php if (!empty($option_value['image']) && $tbData->OcVersionGte('2.2.0.0')): ?> image<?php endif; ?>">
<?php endif; ?>
<label<?php if (isset($option['tb_css_classes']) && !empty($option['tb_css_classes']) && $option['tb_css_classes'] == 'style_2'): ?> class="tb_bg_str_2 tb_bg_hover_str_3"<?php endif; ?><?php if ($option_value['price']) { ?> title="<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>"<?php } ?>>
<input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" value="<?php echo $option_value['product_option_value_id']; ?>" />
<?php if ($tbData->OcVersionGte('2.2.0.0')): ?>
<?php if ($option_value['image']) { ?>
<img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" />
<?php } ?>
<?php endif; ?>
<span>
<?php echo $option_value['name']; ?>
<?php if ($option_value['price']) { ?><span>
(<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
</span><?php } ?>
</span>
</label>
</div>
<?php } ?>
</div>
</div>
</div>
<?php } ?>][/code]

Please help! I have spend a lot of time to find information about this problem, but unsuccessfully. Thanks in advance!

Newbie

Posts

Joined
Fri Mar 08, 2013 10:04 pm

Post by straightlight » Sun Aug 05, 2018 8:53 pm

Either contact the extension developer or create a new service request in the Commercial Support section of the forum to get this done as a custom job.

Dedication and passion goes to those who are able to push and merge a project.

Regards,
Straightlight
Programmer / Opencart Tester


Legendary Member

Posts

Joined
Mon Nov 14, 2011 11:38 pm
Location - Canada, ON
Who is online

Users browsing this forum: No registered users and 76 guests