piklas Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 (изменено) Добрый день, подскажите возможно ли сделать так что бы в описании товара добавлялись названия опций (расцветки) которые возможно заказать, и автоматом скрывались названия тех опций которые закончились для конкретного товара? Изменено 17 января 2021 пользователем piklas Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 Можно Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 34 минуты назад, Dimasscus сказал: Можно Отлично, а подскажите куда копать? Я так понимаю надо модифицировать файл product.tpl? В нем добавлять код который будет отвечать за вывод "Названия цвета" опции. Если не трудно то подскажите с какими переменными работать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 12 минут назад, piklas сказал: Отлично, а подскажите куда копать? Я так понимаю надо модифицировать файл product.tpl? В нем добавлять код который будет отвечать за вывод "Названия цвета" опции. Если не трудно то подскажите с какими переменными работать? С теми же что вьіводят опции в блоке product. Нужно смотреть на конкретном шаблоне. Если в кратце- взять тот же массив переменньіх, и поместить его в блок описания, сформировав отображение так как вам нужно Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 Шаблон дефонлтный. Спасибо за информацию буду копать. Если есть знающие люди, направьте на путь истинный. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 Только что, piklas сказал: Шаблон дефонлтный. Спасибо за информацию буду копать. Если есть знающие люди, направьте на путь истинный. Если дефолтньій то все проще. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 К сожалению нет 2-ки развернутой. Показал бьі на примере Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 17 минут назад, Dimasscus сказал: К сожалению нет 2-ки развернутой. Показал бьі на примере Вот код из файла продукт. <?php echo $header; ?> <style> .addthis_toolbox.addthis_default_style .addthis_toolbox a.addthis_button_tweet { width: 79px; } </style> <div class="container"> <ul class="breadcrumb"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li> <?php } ?> </ul> <div class="row"><?php echo $column_left; ?> <?php if ($column_left && $column_right) { ?> <?php $class = 'col-sm-6'; ?> <?php } elseif ($column_left || $column_right) { ?> <?php $class = 'col-sm-9'; ?> <?php } else { ?> <?php $class = 'col-sm-12'; ?> <?php } ?> <div id="content" class="<?php echo $class; ?>"><?php echo $content_top; ?> <div class="row"> <?php if ($column_left || $column_right) { ?> <?php $class = 'col-sm-6'; ?> <?php } else { ?> <?php $class = 'col-sm-8'; ?> <?php } ?> <div class="<?php echo $class; ?>"> <?php if ($thumb || $images) { ?> <ul class="thumbnails"> <?php if ($thumb) { ?> <li><a class="thumbnail" href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>"><img class="lazyload" data-src="<?php echo $thumb; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a></li> <?php } ?> <?php if ($images) { ?> <?php foreach ($images as $image) { ?> <li class="image-additional"><a class="thumbnail" href="<?php echo $image['popup']; ?>" title="<?php echo $heading_title; ?>"> <img class="lazyload" data-src="<?php echo $image['thumb']; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a></li> <?php } ?> <?php } ?> </ul> <?php } ?> <ul class="nav nav-tabs"> <li class="active"><a href="#tab-description" data-toggle="tab"><?php echo $tab_description; ?></a></li> <?php if ($attribute_groups) { ?> <li><a href="#tab-specification" data-toggle="tab"><?php echo $tab_attribute; ?></a></li> <?php } ?> <?php if ($review_status) { ?> <li><a href="#tab-review" data-toggle="tab"><?php echo $tab_review; ?></a></li> <?php } ?> </ul> <div class="tab-content"> <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php echo $option_value['name']; ?> </div> <?php if ($attribute_groups) { ?> <div class="tab-pane" id="tab-specification"> <table class="table table-bordered"> <?php foreach ($attribute_groups as $attribute_group) { ?> <thead> <tr> <td colspan="2"><strong><?php echo $attribute_group['name']; ?></strong></td> </tr> </thead> <tbody> <?php foreach ($attribute_group['attribute'] as $attribute) { ?> <tr> <td><?php echo $attribute['name']; ?></td> <td><?php echo $attribute['text']; ?></td> </tr> <?php } ?> </tbody> <?php } ?> </table> </div> <?php } ?> <?php if ($review_status) { ?> <div class="tab-pane" id="tab-review"> <form class="form-horizontal" id="form-review"> <div id="review"></div> <h2><?php echo $text_write; ?></h2> <?php if ($review_guest) { ?> <div class="form-group required"> <div class="col-sm-12"> <label class="control-label" for="input-name"><?php echo $entry_name; ?></label> <input type="text" name="name" value="" id="input-name" class="form-control" /> </div> </div> <div class="form-group required"> <div class="col-sm-12"> <label class="control-label" for="input-review"><?php echo $entry_review; ?></label> <textarea name="text" rows="5" id="input-review" class="form-control"></textarea> <div class="help-block"><?php echo $text_note; ?></div> </div> </div> <div class="form-group required"> <div class="col-sm-12"> <label class="control-label"><?php echo $entry_rating; ?></label> <?php echo $entry_bad; ?> <input type="radio" name="rating" value="1" /> <input type="radio" name="rating" value="2" /> <input type="radio" name="rating" value="3" /> <input type="radio" name="rating" value="4" /> <input type="radio" name="rating" value="5" /> <?php echo $entry_good; ?></div> </div> <?php echo $captcha; ?> <div class="buttons clearfix"> <div class="pull-right"> <button type="button" id="button-review" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-primary"><?php echo $button_continue; ?></button> </div> </div> <?php } else { ?> <?php echo $text_login; ?> <?php } ?> </form> </div> <?php } ?> </div> </div> <?php if ($column_left || $column_right) { ?> <?php $class = 'col-sm-6'; ?> <?php } else { ?> <?php $class = 'col-sm-4'; ?> <?php } ?> <div class="<?php echo $class; ?>"> <div class="btn-group"> <button type="button" data-toggle="tooltip" class="btn btn-default" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product_id; ?>');"><i class="fa fa-heart"></i></button> <!--<button type="button" data-toggle="tooltip" class="btn btn-default" title="<?php echo $button_compare; ?>" onclick="compare.add('<?php echo $product_id; ?>');"><i class="fa fa-exchange"></i></button>--> </div> <h1><?php echo $heading_title; ?></h1> <ul class="list-unstyled"> <!--<?php if ($manufacturer) { ?> <li><?php echo $text_manufacturer; ?> <a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a></li> <?php } ?>--> <li><?php echo $text_model; ?> <?php echo $model; ?></li> <?php if ($reward) { ?> <li><?php echo $text_reward; ?> <?php echo $reward; ?></li> <?php } ?> <li><?php echo $text_stock; ?> <?php echo $stock; ?></li> </ul> <?php if ($price) { ?> <ul class="list-unstyled"> <?php if (!$special) { ?> <li> <h2><?php echo $price; ?></h2> </li> <?php } else { ?> <li><span style="text-decoration: line-through;"><?php echo $price; ?></span></li> <li> <h2><?php echo $special; ?></h2> </li> <?php } ?> <?php if ($tax) { ?> <li><?php echo $text_tax; ?> <?php echo $tax; ?></li> <?php } ?> <?php if ($points) { ?> <li><?php echo $text_points; ?> <?php echo $points; ?></li> <?php } ?> <?php if ($discounts) { ?> <li> <hr> </li> <?php foreach ($discounts as $discount) { ?> <li><?php echo $discount['quantity']; ?><?php echo $text_discount; ?><?php echo $discount['price']; ?></li> <?php } ?> <?php } ?> </ul> <?php } ?> <div id="product"> <?php if ($options) { ?> <hr> <h3><?php echo $text_option; ?></h3> <?php foreach ($options as $option) { ?> <?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> <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> <?php } ?> <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" 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 } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> <?php if ($option['type'] == 'checkbox') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="checkbox"> <label> <input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" 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 } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> <?php if ($option['type'] == 'image') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <img data-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 lazyload" /> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> <?php if ($option['type'] == 'text') { ?> <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> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['value']; ?>" placeholder="<?php echo $option['name']; ?>" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control" /> </div> <?php } ?> <?php if ($option['type'] == 'textarea') { ?> <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> <textarea name="option[<?php echo $option['product_option_id']; ?>]" rows="5" placeholder="<?php echo $option['name']; ?>" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control"><?php echo $option['value']; ?></textarea> </div> <?php } ?> <?php if ($option['type'] == 'file') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <button type="button" id="button-upload<?php echo $option['product_option_id']; ?>" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-default btn-block"><i class="fa fa-upload"></i> <?php echo $button_upload; ?></button> <input type="hidden" name="option[<?php echo $option['product_option_id']; ?>]" value="" id="input-option<?php echo $option['product_option_id']; ?>" /> </div> <?php } ?> <?php if ($option['type'] == 'date') { ?> <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="input-group date"> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['value']; ?>" data-date-format="YYYY-MM-DD" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control" /> <span class="input-group-btn"> <button class="btn btn-default" type="button"><i class="fa fa-calendar"></i></button> </span></div> </div> <?php } ?> <?php if ($option['type'] == 'datetime') { ?> <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="input-group datetime"> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['value']; ?>" data-date-format="YYYY-MM-DD HH:mm" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control" /> <span class="input-group-btn"> <button type="button" class="btn btn-default"><i class="fa fa-calendar"></i></button> </span></div> </div> <?php } ?> <?php if ($option['type'] == 'time') { ?> <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="input-group time"> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['value']; ?>" data-date-format="HH:mm" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control" /> <span class="input-group-btn"> <button type="button" class="btn btn-default"><i class="fa fa-calendar"></i></button> </span></div> </div> <?php } ?> <?php } ?> <?php } ?> <?php if ($recurrings) { ?> <hr> <h3><?php echo $text_payment_recurring ?></h3> <div class="form-group required"> <select name="recurring_id" class="form-control"> <option value=""><?php echo $text_select; ?></option> <?php foreach ($recurrings as $recurring) { ?> <option value="<?php echo $recurring['recurring_id'] ?>"><?php echo $recurring['name'] ?></option> <?php } ?> </select> <div class="help-block" id="recurring-description"></div> </div> <?php } ?> <div class="form-group"> <label class="control-label" for="input-quantity"><?php echo $entry_qty; ?></label> <input type="text" name="quantity" value="<?php echo $minimum; ?>" size="2" id="input-quantity" class="form-control" /> <input type="hidden" name="product_id" value="<?php echo $product_id; ?>" /> <br /> <button type="button" id="button-cart" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-primary btn-lg btn-block"><?php echo $button_cart; ?></button> </div> <?php if ($minimum > 1) { ?> <div class="alert alert-info"><i class="fa fa-info-circle"></i> <?php echo $text_minimum; ?></div> <?php } ?> </div> <?php if ($review_status) { ?> <div class="rating"> <p> <?php for ($i = 1; $i <= 5; $i++) { ?> <?php if ($rating < $i) { ?> <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } else { ?> <span class="fa fa-stack"><i class="fa fa-star fa-stack-1x"></i><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } ?> <?php } ?> <a href="" onclick="$('a[href=\'#tab-review\']').trigger('click'); return false;"><?php echo $reviews; ?></a> / <a href="" onclick="$('a[href=\'#tab-review\']').trigger('click'); return false;"><?php echo $text_write; ?></a></p> <hr> <script src="https://yastatic.net/es5-shims/0.0.2/es5-shims.min.js"></script> <script src="https://yastatic.net/share2/share.js"></script> <div class="ya-share2" data-services="vkontakte,odnoklassniki,viber,whatsapp,telegram"></div> </div> <?php } ?> </div> </div> <?php if ($products) { ?> <h3><?php echo $text_related; ?></h3> <div class="row"> <?php $i = 0; ?> <?php foreach ($products as $product) { ?> <?php if ($column_left && $column_right) { ?> <?php $class = 'col-lg-6 col-md-6 col-sm-12 col-xs-12'; ?> <?php } elseif ($column_left || $column_right) { ?> <?php $class = 'col-lg-4 col-md-4 col-sm-6 col-xs-12'; ?> <?php } else { ?> <?php $class = 'col-lg-3 col-md-3 col-sm-6 col-xs-12'; ?> <?php } ?> <div class="<?php echo $class; ?>"> <div class="product-thumb transition"> <div class="image"><a href="<?php echo $product['href']; ?>"><img data-src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive lazyload" /></a></div> <div class="caption"> <h4><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></h4> <p><?php echo $product['description']; ?></p> <?php if ($product['rating']) { ?> <div class="rating"> <?php for ($i = 1; $i <= 5; $i++) { ?> <?php if ($product['rating'] < $i) { ?> <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } else { ?> <span class="fa fa-stack"><i class="fa fa-star fa-stack-1x"></i><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } ?> <?php } ?> </div> <?php } ?> <?php if ($product['price']) { ?> <p class="price"> <?php if (!$product['special']) { ?> <?php echo $product['price']; ?> <?php } else { ?> <span class="price-new"><?php echo $product['special']; ?></span> <span class="price-old"><?php echo $product['price']; ?></span> <?php } ?> <?php if ($product['tax']) { ?> <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span> <?php } ?> </p> <?php } ?> </div> <div class="button-group"> <button type="button" onclick="cart.add('<?php echo $product['product_id']; ?>', '<?php echo $product['minimum']; ?>');"><span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart; ?></span> <i class="fa fa-shopping-cart"></i></button> <button type="button" data-toggle="tooltip" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-heart"></i></button> <!--<button type="button" data-toggle="tooltip" title="<?php echo $button_compare; ?>" onclick="compare.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-exchange"></i></button>--> </div> </div> </div> <?php /* if (($column_left && $column_right) && ($i % 2 == 0)) { ?> <div class="clearfix visible-md visible-sm"></div> <?php } elseif (($column_left || $column_right) && ($i % 3 == 0)) { ?> <div class="clearfix visible-md"></div> <?php } elseif ($i % 4 == 0) { ?> <div class="clearfix visible-md"></div> <?php } */ ?> <?php $i++; ?> <?php } ?> </div> <?php } ?> <?php if ($tags) { ?> <p><?php echo $text_tags; ?> <?php for ($i = 0; $i < count($tags); $i++) { ?> <?php if ($i < (count($tags) - 1)) { ?> <a href="<?php echo $tags[$i]['href']; ?>"><?php echo $tags[$i]['tag']; ?></a>, <?php } else { ?> <a href="<?php echo $tags[$i]['href']; ?>"><?php echo $tags[$i]['tag']; ?></a> <?php } ?> <?php } ?> </p> <?php } ?> <?php echo $content_bottom; ?></div> <?php echo $column_right; ?></div> </div> <script type="text/javascript"><!-- $('select[name=\'recurring_id\'], input[name="quantity"]').change(function(){ $.ajax({ url: 'index.php?route=product/product/getRecurringDescription', type: 'post', data: $('input[name=\'product_id\'], input[name=\'quantity\'], select[name=\'recurring_id\']'), dataType: 'json', beforeSend: function() { $('#recurring-description').html(''); }, success: function(json) { $('.alert, .text-danger').remove(); if (json['success']) { $('#recurring-description').html(json['success']); } } }); }); //--></script> <script type="text/javascript"><!-- $('#button-cart').on('click', function() { $.ajax({ url: 'index.php?route=checkout/cart/add', type: 'post', data: $('#product input[type=\'text\'], #product input[type=\'hidden\'], #product input[type=\'radio\']:checked, #product input[type=\'checkbox\']:checked, #product select, #product textarea'), dataType: 'json', beforeSend: function() { $('#button-cart').button('loading'); }, complete: function() { $('#button-cart').button('reset'); }, success: function(json) { $('.alert, .text-danger').remove(); $('.form-group').removeClass('has-error'); if (json['error']) { if (json['error']['option']) { for (i in json['error']['option']) { var element = $('#input-option' + i.replace('_', '-')); if (element.parent().hasClass('input-group')) { element.parent().after('<div class="text-danger">' + json['error']['option'][i] + '</div>'); } else { element.after('<div class="text-danger">' + json['error']['option'][i] + '</div>'); } } } if (json['error']['recurring']) { $('select[name=\'recurring_id\']').after('<div class="text-danger">' + json['error']['recurring'] + '</div>'); } // Highlight any found errors $('.text-danger').parent().addClass('has-error'); } if (json['success']) { $('.breadcrumb').after('<div class="alert alert-success">' + json['success'] + '<button type="button" class="close" data-dismiss="alert">×</button></div>'); $('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>'); $('html, body').animate({ scrollTop: 0 }, 'slow'); $('#cart > ul').load('index.php?route=common/cart/info ul li'); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); }); //--></script> <script type="text/javascript"><!-- $('.date').datetimepicker({ pickTime: false }); $('.datetime').datetimepicker({ pickDate: true, pickTime: true }); $('.time').datetimepicker({ pickDate: false }); $('button[id^=\'button-upload\']').on('click', function() { var node = this; $('#form-upload').remove(); $('body').prepend('<form enctype="multipart/form-data" id="form-upload" style="display: none;"><input type="file" name="file" /></form>'); $('#form-upload input[name=\'file\']').trigger('click'); if (typeof timer != 'undefined') { clearInterval(timer); } timer = setInterval(function() { if ($('#form-upload input[name=\'file\']').val() != '') { clearInterval(timer); $.ajax({ url: 'index.php?route=tool/upload', type: 'post', dataType: 'json', data: new FormData($('#form-upload')[0]), cache: false, contentType: false, processData: false, beforeSend: function() { $(node).button('loading'); }, complete: function() { $(node).button('reset'); }, success: function(json) { $('.text-danger').remove(); if (json['error']) { $(node).parent().find('input').after('<div class="text-danger">' + json['error'] + '</div>'); } if (json['success']) { alert(json['success']); $(node).parent().find('input').attr('value', json['code']); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); } }, 500); }); //--></script> <script type="text/javascript"><!-- $('#review').delegate('.pagination a', 'click', function(e) { e.preventDefault(); $('#review').fadeOut('slow'); $('#review').load(this.href); $('#review').fadeIn('slow'); }); $('#button-review').on('click', function() { $.ajax({ url: 'index.php?route=product/product/write&product_id=<?php echo $product_id; ?>', type: 'post', dataType: 'json', data: $("#form-review").serialize(), beforeSend: function() { $('#button-review').button('loading'); }, complete: function() { $('#button-review').button('reset'); }, success: function(json) { $('.alert-success, .alert-danger').remove(); if (json['error']) { $('#review').after('<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + '</div>'); } if (json['success']) { $('#review').after('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + '</div>'); $('input[name=\'name\']').val(''); $('textarea[name=\'text\']').val(''); $('input[name=\'rating\']:checked').prop('checked', false); } } }); }); $(document).ready(function() { $('.thumbnails').magnificPopup({ type:'image', delegate: 'a', gallery: { enabled:true } }); }); //--></script> <?php echo $footer; ?> Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php echo $option_value['name']; ?> </div> что это? :)) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 4 минуты назад, Dimasscus сказал: <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php echo $option_value['name']; ?> </div> что это? :)) это мои эксперименты по выводу названий опций) забыл удалить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 1 час назад, piklas сказал: это мои эксперименты по выводу названий опций) забыл удалить <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php echo $option_value['name']; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <hr> </div> как то так. визуализируйте стилями как вам нужно 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 42 минуты назад, Dimasscus сказал: <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php echo $option_value['name']; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <hr> </div> как то так. визуализируйте стилями как вам нужно Спасибо большое сейчас попробую. Отпишусь. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 (изменено) 1 час назад, Dimasscus сказал: <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php echo $option_value['name']; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <hr> </div> как то так. визуализируйте стилями как вам нужно Работает, но выдает все опции и размер и цвет. А возможно что бы выводил только цвет и только одно значение, например: салатовый, серый, бирюза? без повторов? Изменено 17 января 2021 пользователем piklas Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 10 минут назад, piklas сказал: Работает, но выдает все опции и размер и цвет. А возможно что бы выводил только цвет и только одно значение, например: салатовый, серый, бирюза? без повторов? я не знаю откуда у вас повторы вот как это у меня https://23ocs.shops-market.com/index.php?route=product/product&product_id=40 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 ага. у вас размер также опцией radio сделан. тогда нужно по другому делать Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 1 минуту назад, Dimasscus сказал: я не знаю откуда у вас повторы вот как это у меня https://23ocs.shops-market.com/index.php?route=product/product&product_id=40 Повторы это из за модуля выбора опций, для связи размер + расцветка - это для связи с 1с нужно. Я вот думаю как то же можно разбить foreach и выводить только значение опции цвет? Спасибо за код. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 (изменено) 27 минут назад, piklas сказал: Повторы это из за модуля выбора опций, для связи размер + расцветка - это для связи с 1с нужно. Я вот думаю как то же можно разбить foreach и выводить только значение опции цвет? Спасибо за код. строчку <?php if ($option['type'] == 'radio') { ?> замените на <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> где 1- id опции. узнать id можете в админке открыв опцию (скрин) https://clip2net.com/s/4aAugtN обновленный код <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php echo $str = substr($str,0,-1).'.';?> Изменено 17 января 2021 пользователем Dimasscus 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 43 минуты назад, Dimasscus сказал: строчку <?php if ($option['type'] == 'radio') { ?> замените на <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> где 1- id опции. узнать id можете в админке открыв опцию (скрин) https://clip2net.com/s/4aAugtN обновленный код <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php echo $str = substr($str,0,-1).'.';?> Уже почти получилось. Только так и выводит списком, все комбинации цветов, а не просто ID цветов. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 28 минут назад, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Спасибо большое за помощь, буду дальше копать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 18 января 2021 Автор Поделиться Опубликовано: 18 января 2021 В 17.01.2021 в 23:36, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Разобрался с выводом текста <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '14' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php $str = substr($str,0,-1); ?> <?php $coloropc = implode(', ', array_unique(explode(',', $str)));?> <p> <font size="2" color="red"> <strong> В данной модели предусмотрен выбор расцветки: <?php echo $coloropc?>.</strong></font> </p> теперь проблема в том что выводимому результату пристраивается значение <div class="options"> , и вся разметка сайта рушиться. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации [Поддержка] OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 16 ответов 1 121 просмотр Speaker12 22 марта OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 0 комментариев 20 449 просмотров Speaker12 30 августа 2023 [Поддержка] OAP - опції як окремий товар 1 2 Автор: Speaker12, 13 июня 2023 опции варианты (и ещё 5) Теги: опции варианты комплекты товар цвет серии модели 36 ответов 2 588 просмотров Speaker12 18 февраля Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. Автор: Sha, 15 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 0 комментариев 49 266 просмотров Sha 15 марта 2017 [Поддержка] Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. 1 2 3 4 10 Автор: Sha, 16 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 240 ответов 43 963 просмотра COBECTb11 22 марта Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Настройка и оптимизация Добавление названий опций в описании карточки товара Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 Можно Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 34 минуты назад, Dimasscus сказал: Можно Отлично, а подскажите куда копать? Я так понимаю надо модифицировать файл product.tpl? В нем добавлять код который будет отвечать за вывод "Названия цвета" опции. Если не трудно то подскажите с какими переменными работать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 12 минут назад, piklas сказал: Отлично, а подскажите куда копать? Я так понимаю надо модифицировать файл product.tpl? В нем добавлять код который будет отвечать за вывод "Названия цвета" опции. Если не трудно то подскажите с какими переменными работать? С теми же что вьіводят опции в блоке product. Нужно смотреть на конкретном шаблоне. Если в кратце- взять тот же массив переменньіх, и поместить его в блок описания, сформировав отображение так как вам нужно Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 Шаблон дефонлтный. Спасибо за информацию буду копать. Если есть знающие люди, направьте на путь истинный. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 Только что, piklas сказал: Шаблон дефонлтный. Спасибо за информацию буду копать. Если есть знающие люди, направьте на путь истинный. Если дефолтньій то все проще. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 К сожалению нет 2-ки развернутой. Показал бьі на примере Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 17 минут назад, Dimasscus сказал: К сожалению нет 2-ки развернутой. Показал бьі на примере Вот код из файла продукт. <?php echo $header; ?> <style> .addthis_toolbox.addthis_default_style .addthis_toolbox a.addthis_button_tweet { width: 79px; } </style> <div class="container"> <ul class="breadcrumb"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li> <?php } ?> </ul> <div class="row"><?php echo $column_left; ?> <?php if ($column_left && $column_right) { ?> <?php $class = 'col-sm-6'; ?> <?php } elseif ($column_left || $column_right) { ?> <?php $class = 'col-sm-9'; ?> <?php } else { ?> <?php $class = 'col-sm-12'; ?> <?php } ?> <div id="content" class="<?php echo $class; ?>"><?php echo $content_top; ?> <div class="row"> <?php if ($column_left || $column_right) { ?> <?php $class = 'col-sm-6'; ?> <?php } else { ?> <?php $class = 'col-sm-8'; ?> <?php } ?> <div class="<?php echo $class; ?>"> <?php if ($thumb || $images) { ?> <ul class="thumbnails"> <?php if ($thumb) { ?> <li><a class="thumbnail" href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>"><img class="lazyload" data-src="<?php echo $thumb; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a></li> <?php } ?> <?php if ($images) { ?> <?php foreach ($images as $image) { ?> <li class="image-additional"><a class="thumbnail" href="<?php echo $image['popup']; ?>" title="<?php echo $heading_title; ?>"> <img class="lazyload" data-src="<?php echo $image['thumb']; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a></li> <?php } ?> <?php } ?> </ul> <?php } ?> <ul class="nav nav-tabs"> <li class="active"><a href="#tab-description" data-toggle="tab"><?php echo $tab_description; ?></a></li> <?php if ($attribute_groups) { ?> <li><a href="#tab-specification" data-toggle="tab"><?php echo $tab_attribute; ?></a></li> <?php } ?> <?php if ($review_status) { ?> <li><a href="#tab-review" data-toggle="tab"><?php echo $tab_review; ?></a></li> <?php } ?> </ul> <div class="tab-content"> <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php echo $option_value['name']; ?> </div> <?php if ($attribute_groups) { ?> <div class="tab-pane" id="tab-specification"> <table class="table table-bordered"> <?php foreach ($attribute_groups as $attribute_group) { ?> <thead> <tr> <td colspan="2"><strong><?php echo $attribute_group['name']; ?></strong></td> </tr> </thead> <tbody> <?php foreach ($attribute_group['attribute'] as $attribute) { ?> <tr> <td><?php echo $attribute['name']; ?></td> <td><?php echo $attribute['text']; ?></td> </tr> <?php } ?> </tbody> <?php } ?> </table> </div> <?php } ?> <?php if ($review_status) { ?> <div class="tab-pane" id="tab-review"> <form class="form-horizontal" id="form-review"> <div id="review"></div> <h2><?php echo $text_write; ?></h2> <?php if ($review_guest) { ?> <div class="form-group required"> <div class="col-sm-12"> <label class="control-label" for="input-name"><?php echo $entry_name; ?></label> <input type="text" name="name" value="" id="input-name" class="form-control" /> </div> </div> <div class="form-group required"> <div class="col-sm-12"> <label class="control-label" for="input-review"><?php echo $entry_review; ?></label> <textarea name="text" rows="5" id="input-review" class="form-control"></textarea> <div class="help-block"><?php echo $text_note; ?></div> </div> </div> <div class="form-group required"> <div class="col-sm-12"> <label class="control-label"><?php echo $entry_rating; ?></label> <?php echo $entry_bad; ?> <input type="radio" name="rating" value="1" /> <input type="radio" name="rating" value="2" /> <input type="radio" name="rating" value="3" /> <input type="radio" name="rating" value="4" /> <input type="radio" name="rating" value="5" /> <?php echo $entry_good; ?></div> </div> <?php echo $captcha; ?> <div class="buttons clearfix"> <div class="pull-right"> <button type="button" id="button-review" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-primary"><?php echo $button_continue; ?></button> </div> </div> <?php } else { ?> <?php echo $text_login; ?> <?php } ?> </form> </div> <?php } ?> </div> </div> <?php if ($column_left || $column_right) { ?> <?php $class = 'col-sm-6'; ?> <?php } else { ?> <?php $class = 'col-sm-4'; ?> <?php } ?> <div class="<?php echo $class; ?>"> <div class="btn-group"> <button type="button" data-toggle="tooltip" class="btn btn-default" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product_id; ?>');"><i class="fa fa-heart"></i></button> <!--<button type="button" data-toggle="tooltip" class="btn btn-default" title="<?php echo $button_compare; ?>" onclick="compare.add('<?php echo $product_id; ?>');"><i class="fa fa-exchange"></i></button>--> </div> <h1><?php echo $heading_title; ?></h1> <ul class="list-unstyled"> <!--<?php if ($manufacturer) { ?> <li><?php echo $text_manufacturer; ?> <a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a></li> <?php } ?>--> <li><?php echo $text_model; ?> <?php echo $model; ?></li> <?php if ($reward) { ?> <li><?php echo $text_reward; ?> <?php echo $reward; ?></li> <?php } ?> <li><?php echo $text_stock; ?> <?php echo $stock; ?></li> </ul> <?php if ($price) { ?> <ul class="list-unstyled"> <?php if (!$special) { ?> <li> <h2><?php echo $price; ?></h2> </li> <?php } else { ?> <li><span style="text-decoration: line-through;"><?php echo $price; ?></span></li> <li> <h2><?php echo $special; ?></h2> </li> <?php } ?> <?php if ($tax) { ?> <li><?php echo $text_tax; ?> <?php echo $tax; ?></li> <?php } ?> <?php if ($points) { ?> <li><?php echo $text_points; ?> <?php echo $points; ?></li> <?php } ?> <?php if ($discounts) { ?> <li> <hr> </li> <?php foreach ($discounts as $discount) { ?> <li><?php echo $discount['quantity']; ?><?php echo $text_discount; ?><?php echo $discount['price']; ?></li> <?php } ?> <?php } ?> </ul> <?php } ?> <div id="product"> <?php if ($options) { ?> <hr> <h3><?php echo $text_option; ?></h3> <?php foreach ($options as $option) { ?> <?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> <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> <?php } ?> <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" 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 } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> <?php if ($option['type'] == 'checkbox') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="checkbox"> <label> <input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" 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 } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> <?php if ($option['type'] == 'image') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <img data-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 lazyload" /> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> <?php if ($option['type'] == 'text') { ?> <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> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['value']; ?>" placeholder="<?php echo $option['name']; ?>" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control" /> </div> <?php } ?> <?php if ($option['type'] == 'textarea') { ?> <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> <textarea name="option[<?php echo $option['product_option_id']; ?>]" rows="5" placeholder="<?php echo $option['name']; ?>" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control"><?php echo $option['value']; ?></textarea> </div> <?php } ?> <?php if ($option['type'] == 'file') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <button type="button" id="button-upload<?php echo $option['product_option_id']; ?>" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-default btn-block"><i class="fa fa-upload"></i> <?php echo $button_upload; ?></button> <input type="hidden" name="option[<?php echo $option['product_option_id']; ?>]" value="" id="input-option<?php echo $option['product_option_id']; ?>" /> </div> <?php } ?> <?php if ($option['type'] == 'date') { ?> <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="input-group date"> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['value']; ?>" data-date-format="YYYY-MM-DD" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control" /> <span class="input-group-btn"> <button class="btn btn-default" type="button"><i class="fa fa-calendar"></i></button> </span></div> </div> <?php } ?> <?php if ($option['type'] == 'datetime') { ?> <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="input-group datetime"> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['value']; ?>" data-date-format="YYYY-MM-DD HH:mm" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control" /> <span class="input-group-btn"> <button type="button" class="btn btn-default"><i class="fa fa-calendar"></i></button> </span></div> </div> <?php } ?> <?php if ($option['type'] == 'time') { ?> <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="input-group time"> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['value']; ?>" data-date-format="HH:mm" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control" /> <span class="input-group-btn"> <button type="button" class="btn btn-default"><i class="fa fa-calendar"></i></button> </span></div> </div> <?php } ?> <?php } ?> <?php } ?> <?php if ($recurrings) { ?> <hr> <h3><?php echo $text_payment_recurring ?></h3> <div class="form-group required"> <select name="recurring_id" class="form-control"> <option value=""><?php echo $text_select; ?></option> <?php foreach ($recurrings as $recurring) { ?> <option value="<?php echo $recurring['recurring_id'] ?>"><?php echo $recurring['name'] ?></option> <?php } ?> </select> <div class="help-block" id="recurring-description"></div> </div> <?php } ?> <div class="form-group"> <label class="control-label" for="input-quantity"><?php echo $entry_qty; ?></label> <input type="text" name="quantity" value="<?php echo $minimum; ?>" size="2" id="input-quantity" class="form-control" /> <input type="hidden" name="product_id" value="<?php echo $product_id; ?>" /> <br /> <button type="button" id="button-cart" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-primary btn-lg btn-block"><?php echo $button_cart; ?></button> </div> <?php if ($minimum > 1) { ?> <div class="alert alert-info"><i class="fa fa-info-circle"></i> <?php echo $text_minimum; ?></div> <?php } ?> </div> <?php if ($review_status) { ?> <div class="rating"> <p> <?php for ($i = 1; $i <= 5; $i++) { ?> <?php if ($rating < $i) { ?> <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } else { ?> <span class="fa fa-stack"><i class="fa fa-star fa-stack-1x"></i><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } ?> <?php } ?> <a href="" onclick="$('a[href=\'#tab-review\']').trigger('click'); return false;"><?php echo $reviews; ?></a> / <a href="" onclick="$('a[href=\'#tab-review\']').trigger('click'); return false;"><?php echo $text_write; ?></a></p> <hr> <script src="https://yastatic.net/es5-shims/0.0.2/es5-shims.min.js"></script> <script src="https://yastatic.net/share2/share.js"></script> <div class="ya-share2" data-services="vkontakte,odnoklassniki,viber,whatsapp,telegram"></div> </div> <?php } ?> </div> </div> <?php if ($products) { ?> <h3><?php echo $text_related; ?></h3> <div class="row"> <?php $i = 0; ?> <?php foreach ($products as $product) { ?> <?php if ($column_left && $column_right) { ?> <?php $class = 'col-lg-6 col-md-6 col-sm-12 col-xs-12'; ?> <?php } elseif ($column_left || $column_right) { ?> <?php $class = 'col-lg-4 col-md-4 col-sm-6 col-xs-12'; ?> <?php } else { ?> <?php $class = 'col-lg-3 col-md-3 col-sm-6 col-xs-12'; ?> <?php } ?> <div class="<?php echo $class; ?>"> <div class="product-thumb transition"> <div class="image"><a href="<?php echo $product['href']; ?>"><img data-src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive lazyload" /></a></div> <div class="caption"> <h4><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></h4> <p><?php echo $product['description']; ?></p> <?php if ($product['rating']) { ?> <div class="rating"> <?php for ($i = 1; $i <= 5; $i++) { ?> <?php if ($product['rating'] < $i) { ?> <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } else { ?> <span class="fa fa-stack"><i class="fa fa-star fa-stack-1x"></i><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } ?> <?php } ?> </div> <?php } ?> <?php if ($product['price']) { ?> <p class="price"> <?php if (!$product['special']) { ?> <?php echo $product['price']; ?> <?php } else { ?> <span class="price-new"><?php echo $product['special']; ?></span> <span class="price-old"><?php echo $product['price']; ?></span> <?php } ?> <?php if ($product['tax']) { ?> <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span> <?php } ?> </p> <?php } ?> </div> <div class="button-group"> <button type="button" onclick="cart.add('<?php echo $product['product_id']; ?>', '<?php echo $product['minimum']; ?>');"><span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart; ?></span> <i class="fa fa-shopping-cart"></i></button> <button type="button" data-toggle="tooltip" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-heart"></i></button> <!--<button type="button" data-toggle="tooltip" title="<?php echo $button_compare; ?>" onclick="compare.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-exchange"></i></button>--> </div> </div> </div> <?php /* if (($column_left && $column_right) && ($i % 2 == 0)) { ?> <div class="clearfix visible-md visible-sm"></div> <?php } elseif (($column_left || $column_right) && ($i % 3 == 0)) { ?> <div class="clearfix visible-md"></div> <?php } elseif ($i % 4 == 0) { ?> <div class="clearfix visible-md"></div> <?php } */ ?> <?php $i++; ?> <?php } ?> </div> <?php } ?> <?php if ($tags) { ?> <p><?php echo $text_tags; ?> <?php for ($i = 0; $i < count($tags); $i++) { ?> <?php if ($i < (count($tags) - 1)) { ?> <a href="<?php echo $tags[$i]['href']; ?>"><?php echo $tags[$i]['tag']; ?></a>, <?php } else { ?> <a href="<?php echo $tags[$i]['href']; ?>"><?php echo $tags[$i]['tag']; ?></a> <?php } ?> <?php } ?> </p> <?php } ?> <?php echo $content_bottom; ?></div> <?php echo $column_right; ?></div> </div> <script type="text/javascript"><!-- $('select[name=\'recurring_id\'], input[name="quantity"]').change(function(){ $.ajax({ url: 'index.php?route=product/product/getRecurringDescription', type: 'post', data: $('input[name=\'product_id\'], input[name=\'quantity\'], select[name=\'recurring_id\']'), dataType: 'json', beforeSend: function() { $('#recurring-description').html(''); }, success: function(json) { $('.alert, .text-danger').remove(); if (json['success']) { $('#recurring-description').html(json['success']); } } }); }); //--></script> <script type="text/javascript"><!-- $('#button-cart').on('click', function() { $.ajax({ url: 'index.php?route=checkout/cart/add', type: 'post', data: $('#product input[type=\'text\'], #product input[type=\'hidden\'], #product input[type=\'radio\']:checked, #product input[type=\'checkbox\']:checked, #product select, #product textarea'), dataType: 'json', beforeSend: function() { $('#button-cart').button('loading'); }, complete: function() { $('#button-cart').button('reset'); }, success: function(json) { $('.alert, .text-danger').remove(); $('.form-group').removeClass('has-error'); if (json['error']) { if (json['error']['option']) { for (i in json['error']['option']) { var element = $('#input-option' + i.replace('_', '-')); if (element.parent().hasClass('input-group')) { element.parent().after('<div class="text-danger">' + json['error']['option'][i] + '</div>'); } else { element.after('<div class="text-danger">' + json['error']['option'][i] + '</div>'); } } } if (json['error']['recurring']) { $('select[name=\'recurring_id\']').after('<div class="text-danger">' + json['error']['recurring'] + '</div>'); } // Highlight any found errors $('.text-danger').parent().addClass('has-error'); } if (json['success']) { $('.breadcrumb').after('<div class="alert alert-success">' + json['success'] + '<button type="button" class="close" data-dismiss="alert">×</button></div>'); $('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>'); $('html, body').animate({ scrollTop: 0 }, 'slow'); $('#cart > ul').load('index.php?route=common/cart/info ul li'); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); }); //--></script> <script type="text/javascript"><!-- $('.date').datetimepicker({ pickTime: false }); $('.datetime').datetimepicker({ pickDate: true, pickTime: true }); $('.time').datetimepicker({ pickDate: false }); $('button[id^=\'button-upload\']').on('click', function() { var node = this; $('#form-upload').remove(); $('body').prepend('<form enctype="multipart/form-data" id="form-upload" style="display: none;"><input type="file" name="file" /></form>'); $('#form-upload input[name=\'file\']').trigger('click'); if (typeof timer != 'undefined') { clearInterval(timer); } timer = setInterval(function() { if ($('#form-upload input[name=\'file\']').val() != '') { clearInterval(timer); $.ajax({ url: 'index.php?route=tool/upload', type: 'post', dataType: 'json', data: new FormData($('#form-upload')[0]), cache: false, contentType: false, processData: false, beforeSend: function() { $(node).button('loading'); }, complete: function() { $(node).button('reset'); }, success: function(json) { $('.text-danger').remove(); if (json['error']) { $(node).parent().find('input').after('<div class="text-danger">' + json['error'] + '</div>'); } if (json['success']) { alert(json['success']); $(node).parent().find('input').attr('value', json['code']); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); } }, 500); }); //--></script> <script type="text/javascript"><!-- $('#review').delegate('.pagination a', 'click', function(e) { e.preventDefault(); $('#review').fadeOut('slow'); $('#review').load(this.href); $('#review').fadeIn('slow'); }); $('#button-review').on('click', function() { $.ajax({ url: 'index.php?route=product/product/write&product_id=<?php echo $product_id; ?>', type: 'post', dataType: 'json', data: $("#form-review").serialize(), beforeSend: function() { $('#button-review').button('loading'); }, complete: function() { $('#button-review').button('reset'); }, success: function(json) { $('.alert-success, .alert-danger').remove(); if (json['error']) { $('#review').after('<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + '</div>'); } if (json['success']) { $('#review').after('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + '</div>'); $('input[name=\'name\']').val(''); $('textarea[name=\'text\']').val(''); $('input[name=\'rating\']:checked').prop('checked', false); } } }); }); $(document).ready(function() { $('.thumbnails').magnificPopup({ type:'image', delegate: 'a', gallery: { enabled:true } }); }); //--></script> <?php echo $footer; ?> Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php echo $option_value['name']; ?> </div> что это? :)) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 4 минуты назад, Dimasscus сказал: <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php echo $option_value['name']; ?> </div> что это? :)) это мои эксперименты по выводу названий опций) забыл удалить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 1 час назад, piklas сказал: это мои эксперименты по выводу названий опций) забыл удалить <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php echo $option_value['name']; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <hr> </div> как то так. визуализируйте стилями как вам нужно 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 42 минуты назад, Dimasscus сказал: <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php echo $option_value['name']; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <hr> </div> как то так. визуализируйте стилями как вам нужно Спасибо большое сейчас попробую. Отпишусь. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 (изменено) 1 час назад, Dimasscus сказал: <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php echo $option_value['name']; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <hr> </div> как то так. визуализируйте стилями как вам нужно Работает, но выдает все опции и размер и цвет. А возможно что бы выводил только цвет и только одно значение, например: салатовый, серый, бирюза? без повторов? Изменено 17 января 2021 пользователем piklas Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 10 минут назад, piklas сказал: Работает, но выдает все опции и размер и цвет. А возможно что бы выводил только цвет и только одно значение, например: салатовый, серый, бирюза? без повторов? я не знаю откуда у вас повторы вот как это у меня https://23ocs.shops-market.com/index.php?route=product/product&product_id=40 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 ага. у вас размер также опцией radio сделан. тогда нужно по другому делать Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 1 минуту назад, Dimasscus сказал: я не знаю откуда у вас повторы вот как это у меня https://23ocs.shops-market.com/index.php?route=product/product&product_id=40 Повторы это из за модуля выбора опций, для связи размер + расцветка - это для связи с 1с нужно. Я вот думаю как то же можно разбить foreach и выводить только значение опции цвет? Спасибо за код. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 (изменено) 27 минут назад, piklas сказал: Повторы это из за модуля выбора опций, для связи размер + расцветка - это для связи с 1с нужно. Я вот думаю как то же можно разбить foreach и выводить только значение опции цвет? Спасибо за код. строчку <?php if ($option['type'] == 'radio') { ?> замените на <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> где 1- id опции. узнать id можете в админке открыв опцию (скрин) https://clip2net.com/s/4aAugtN обновленный код <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php echo $str = substr($str,0,-1).'.';?> Изменено 17 января 2021 пользователем Dimasscus 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 43 минуты назад, Dimasscus сказал: строчку <?php if ($option['type'] == 'radio') { ?> замените на <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> где 1- id опции. узнать id можете в админке открыв опцию (скрин) https://clip2net.com/s/4aAugtN обновленный код <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php echo $str = substr($str,0,-1).'.';?> Уже почти получилось. Только так и выводит списком, все комбинации цветов, а не просто ID цветов. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 28 минут назад, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Спасибо большое за помощь, буду дальше копать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 18 января 2021 Автор Поделиться Опубликовано: 18 января 2021 В 17.01.2021 в 23:36, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Разобрался с выводом текста <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '14' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php $str = substr($str,0,-1); ?> <?php $coloropc = implode(', ', array_unique(explode(',', $str)));?> <p> <font size="2" color="red"> <strong> В данной модели предусмотрен выбор расцветки: <?php echo $coloropc?>.</strong></font> </p> теперь проблема в том что выводимому результату пристраивается значение <div class="options"> , и вся разметка сайта рушиться. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации [Поддержка] OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 16 ответов 1 121 просмотр Speaker12 22 марта OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 0 комментариев 20 449 просмотров Speaker12 30 августа 2023 [Поддержка] OAP - опції як окремий товар 1 2 Автор: Speaker12, 13 июня 2023 опции варианты (и ещё 5) Теги: опции варианты комплекты товар цвет серии модели 36 ответов 2 588 просмотров Speaker12 18 февраля Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. Автор: Sha, 15 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 0 комментариев 49 266 просмотров Sha 15 марта 2017 [Поддержка] Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. 1 2 3 4 10 Автор: Sha, 16 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 240 ответов 43 963 просмотра COBECTb11 22 марта Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Настройка и оптимизация Добавление названий опций в описании карточки товара Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 12 минут назад, piklas сказал: Отлично, а подскажите куда копать? Я так понимаю надо модифицировать файл product.tpl? В нем добавлять код который будет отвечать за вывод "Названия цвета" опции. Если не трудно то подскажите с какими переменными работать? С теми же что вьіводят опции в блоке product. Нужно смотреть на конкретном шаблоне. Если в кратце- взять тот же массив переменньіх, и поместить его в блок описания, сформировав отображение так как вам нужно Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 Шаблон дефонлтный. Спасибо за информацию буду копать. Если есть знающие люди, направьте на путь истинный. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 Только что, piklas сказал: Шаблон дефонлтный. Спасибо за информацию буду копать. Если есть знающие люди, направьте на путь истинный. Если дефолтньій то все проще. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 К сожалению нет 2-ки развернутой. Показал бьі на примере Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 17 минут назад, Dimasscus сказал: К сожалению нет 2-ки развернутой. Показал бьі на примере Вот код из файла продукт. <?php echo $header; ?> <style> .addthis_toolbox.addthis_default_style .addthis_toolbox a.addthis_button_tweet { width: 79px; } </style> <div class="container"> <ul class="breadcrumb"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li> <?php } ?> </ul> <div class="row"><?php echo $column_left; ?> <?php if ($column_left && $column_right) { ?> <?php $class = 'col-sm-6'; ?> <?php } elseif ($column_left || $column_right) { ?> <?php $class = 'col-sm-9'; ?> <?php } else { ?> <?php $class = 'col-sm-12'; ?> <?php } ?> <div id="content" class="<?php echo $class; ?>"><?php echo $content_top; ?> <div class="row"> <?php if ($column_left || $column_right) { ?> <?php $class = 'col-sm-6'; ?> <?php } else { ?> <?php $class = 'col-sm-8'; ?> <?php } ?> <div class="<?php echo $class; ?>"> <?php if ($thumb || $images) { ?> <ul class="thumbnails"> <?php if ($thumb) { ?> <li><a class="thumbnail" href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>"><img class="lazyload" data-src="<?php echo $thumb; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a></li> <?php } ?> <?php if ($images) { ?> <?php foreach ($images as $image) { ?> <li class="image-additional"><a class="thumbnail" href="<?php echo $image['popup']; ?>" title="<?php echo $heading_title; ?>"> <img class="lazyload" data-src="<?php echo $image['thumb']; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a></li> <?php } ?> <?php } ?> </ul> <?php } ?> <ul class="nav nav-tabs"> <li class="active"><a href="#tab-description" data-toggle="tab"><?php echo $tab_description; ?></a></li> <?php if ($attribute_groups) { ?> <li><a href="#tab-specification" data-toggle="tab"><?php echo $tab_attribute; ?></a></li> <?php } ?> <?php if ($review_status) { ?> <li><a href="#tab-review" data-toggle="tab"><?php echo $tab_review; ?></a></li> <?php } ?> </ul> <div class="tab-content"> <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php echo $option_value['name']; ?> </div> <?php if ($attribute_groups) { ?> <div class="tab-pane" id="tab-specification"> <table class="table table-bordered"> <?php foreach ($attribute_groups as $attribute_group) { ?> <thead> <tr> <td colspan="2"><strong><?php echo $attribute_group['name']; ?></strong></td> </tr> </thead> <tbody> <?php foreach ($attribute_group['attribute'] as $attribute) { ?> <tr> <td><?php echo $attribute['name']; ?></td> <td><?php echo $attribute['text']; ?></td> </tr> <?php } ?> </tbody> <?php } ?> </table> </div> <?php } ?> <?php if ($review_status) { ?> <div class="tab-pane" id="tab-review"> <form class="form-horizontal" id="form-review"> <div id="review"></div> <h2><?php echo $text_write; ?></h2> <?php if ($review_guest) { ?> <div class="form-group required"> <div class="col-sm-12"> <label class="control-label" for="input-name"><?php echo $entry_name; ?></label> <input type="text" name="name" value="" id="input-name" class="form-control" /> </div> </div> <div class="form-group required"> <div class="col-sm-12"> <label class="control-label" for="input-review"><?php echo $entry_review; ?></label> <textarea name="text" rows="5" id="input-review" class="form-control"></textarea> <div class="help-block"><?php echo $text_note; ?></div> </div> </div> <div class="form-group required"> <div class="col-sm-12"> <label class="control-label"><?php echo $entry_rating; ?></label> <?php echo $entry_bad; ?> <input type="radio" name="rating" value="1" /> <input type="radio" name="rating" value="2" /> <input type="radio" name="rating" value="3" /> <input type="radio" name="rating" value="4" /> <input type="radio" name="rating" value="5" /> <?php echo $entry_good; ?></div> </div> <?php echo $captcha; ?> <div class="buttons clearfix"> <div class="pull-right"> <button type="button" id="button-review" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-primary"><?php echo $button_continue; ?></button> </div> </div> <?php } else { ?> <?php echo $text_login; ?> <?php } ?> </form> </div> <?php } ?> </div> </div> <?php if ($column_left || $column_right) { ?> <?php $class = 'col-sm-6'; ?> <?php } else { ?> <?php $class = 'col-sm-4'; ?> <?php } ?> <div class="<?php echo $class; ?>"> <div class="btn-group"> <button type="button" data-toggle="tooltip" class="btn btn-default" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product_id; ?>');"><i class="fa fa-heart"></i></button> <!--<button type="button" data-toggle="tooltip" class="btn btn-default" title="<?php echo $button_compare; ?>" onclick="compare.add('<?php echo $product_id; ?>');"><i class="fa fa-exchange"></i></button>--> </div> <h1><?php echo $heading_title; ?></h1> <ul class="list-unstyled"> <!--<?php if ($manufacturer) { ?> <li><?php echo $text_manufacturer; ?> <a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a></li> <?php } ?>--> <li><?php echo $text_model; ?> <?php echo $model; ?></li> <?php if ($reward) { ?> <li><?php echo $text_reward; ?> <?php echo $reward; ?></li> <?php } ?> <li><?php echo $text_stock; ?> <?php echo $stock; ?></li> </ul> <?php if ($price) { ?> <ul class="list-unstyled"> <?php if (!$special) { ?> <li> <h2><?php echo $price; ?></h2> </li> <?php } else { ?> <li><span style="text-decoration: line-through;"><?php echo $price; ?></span></li> <li> <h2><?php echo $special; ?></h2> </li> <?php } ?> <?php if ($tax) { ?> <li><?php echo $text_tax; ?> <?php echo $tax; ?></li> <?php } ?> <?php if ($points) { ?> <li><?php echo $text_points; ?> <?php echo $points; ?></li> <?php } ?> <?php if ($discounts) { ?> <li> <hr> </li> <?php foreach ($discounts as $discount) { ?> <li><?php echo $discount['quantity']; ?><?php echo $text_discount; ?><?php echo $discount['price']; ?></li> <?php } ?> <?php } ?> </ul> <?php } ?> <div id="product"> <?php if ($options) { ?> <hr> <h3><?php echo $text_option; ?></h3> <?php foreach ($options as $option) { ?> <?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> <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> <?php } ?> <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" 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 } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> <?php if ($option['type'] == 'checkbox') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="checkbox"> <label> <input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" 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 } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> <?php if ($option['type'] == 'image') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <img data-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 lazyload" /> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> <?php if ($option['type'] == 'text') { ?> <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> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['value']; ?>" placeholder="<?php echo $option['name']; ?>" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control" /> </div> <?php } ?> <?php if ($option['type'] == 'textarea') { ?> <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> <textarea name="option[<?php echo $option['product_option_id']; ?>]" rows="5" placeholder="<?php echo $option['name']; ?>" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control"><?php echo $option['value']; ?></textarea> </div> <?php } ?> <?php if ($option['type'] == 'file') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <button type="button" id="button-upload<?php echo $option['product_option_id']; ?>" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-default btn-block"><i class="fa fa-upload"></i> <?php echo $button_upload; ?></button> <input type="hidden" name="option[<?php echo $option['product_option_id']; ?>]" value="" id="input-option<?php echo $option['product_option_id']; ?>" /> </div> <?php } ?> <?php if ($option['type'] == 'date') { ?> <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="input-group date"> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['value']; ?>" data-date-format="YYYY-MM-DD" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control" /> <span class="input-group-btn"> <button class="btn btn-default" type="button"><i class="fa fa-calendar"></i></button> </span></div> </div> <?php } ?> <?php if ($option['type'] == 'datetime') { ?> <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="input-group datetime"> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['value']; ?>" data-date-format="YYYY-MM-DD HH:mm" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control" /> <span class="input-group-btn"> <button type="button" class="btn btn-default"><i class="fa fa-calendar"></i></button> </span></div> </div> <?php } ?> <?php if ($option['type'] == 'time') { ?> <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="input-group time"> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['value']; ?>" data-date-format="HH:mm" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control" /> <span class="input-group-btn"> <button type="button" class="btn btn-default"><i class="fa fa-calendar"></i></button> </span></div> </div> <?php } ?> <?php } ?> <?php } ?> <?php if ($recurrings) { ?> <hr> <h3><?php echo $text_payment_recurring ?></h3> <div class="form-group required"> <select name="recurring_id" class="form-control"> <option value=""><?php echo $text_select; ?></option> <?php foreach ($recurrings as $recurring) { ?> <option value="<?php echo $recurring['recurring_id'] ?>"><?php echo $recurring['name'] ?></option> <?php } ?> </select> <div class="help-block" id="recurring-description"></div> </div> <?php } ?> <div class="form-group"> <label class="control-label" for="input-quantity"><?php echo $entry_qty; ?></label> <input type="text" name="quantity" value="<?php echo $minimum; ?>" size="2" id="input-quantity" class="form-control" /> <input type="hidden" name="product_id" value="<?php echo $product_id; ?>" /> <br /> <button type="button" id="button-cart" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-primary btn-lg btn-block"><?php echo $button_cart; ?></button> </div> <?php if ($minimum > 1) { ?> <div class="alert alert-info"><i class="fa fa-info-circle"></i> <?php echo $text_minimum; ?></div> <?php } ?> </div> <?php if ($review_status) { ?> <div class="rating"> <p> <?php for ($i = 1; $i <= 5; $i++) { ?> <?php if ($rating < $i) { ?> <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } else { ?> <span class="fa fa-stack"><i class="fa fa-star fa-stack-1x"></i><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } ?> <?php } ?> <a href="" onclick="$('a[href=\'#tab-review\']').trigger('click'); return false;"><?php echo $reviews; ?></a> / <a href="" onclick="$('a[href=\'#tab-review\']').trigger('click'); return false;"><?php echo $text_write; ?></a></p> <hr> <script src="https://yastatic.net/es5-shims/0.0.2/es5-shims.min.js"></script> <script src="https://yastatic.net/share2/share.js"></script> <div class="ya-share2" data-services="vkontakte,odnoklassniki,viber,whatsapp,telegram"></div> </div> <?php } ?> </div> </div> <?php if ($products) { ?> <h3><?php echo $text_related; ?></h3> <div class="row"> <?php $i = 0; ?> <?php foreach ($products as $product) { ?> <?php if ($column_left && $column_right) { ?> <?php $class = 'col-lg-6 col-md-6 col-sm-12 col-xs-12'; ?> <?php } elseif ($column_left || $column_right) { ?> <?php $class = 'col-lg-4 col-md-4 col-sm-6 col-xs-12'; ?> <?php } else { ?> <?php $class = 'col-lg-3 col-md-3 col-sm-6 col-xs-12'; ?> <?php } ?> <div class="<?php echo $class; ?>"> <div class="product-thumb transition"> <div class="image"><a href="<?php echo $product['href']; ?>"><img data-src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive lazyload" /></a></div> <div class="caption"> <h4><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></h4> <p><?php echo $product['description']; ?></p> <?php if ($product['rating']) { ?> <div class="rating"> <?php for ($i = 1; $i <= 5; $i++) { ?> <?php if ($product['rating'] < $i) { ?> <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } else { ?> <span class="fa fa-stack"><i class="fa fa-star fa-stack-1x"></i><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } ?> <?php } ?> </div> <?php } ?> <?php if ($product['price']) { ?> <p class="price"> <?php if (!$product['special']) { ?> <?php echo $product['price']; ?> <?php } else { ?> <span class="price-new"><?php echo $product['special']; ?></span> <span class="price-old"><?php echo $product['price']; ?></span> <?php } ?> <?php if ($product['tax']) { ?> <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span> <?php } ?> </p> <?php } ?> </div> <div class="button-group"> <button type="button" onclick="cart.add('<?php echo $product['product_id']; ?>', '<?php echo $product['minimum']; ?>');"><span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart; ?></span> <i class="fa fa-shopping-cart"></i></button> <button type="button" data-toggle="tooltip" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-heart"></i></button> <!--<button type="button" data-toggle="tooltip" title="<?php echo $button_compare; ?>" onclick="compare.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-exchange"></i></button>--> </div> </div> </div> <?php /* if (($column_left && $column_right) && ($i % 2 == 0)) { ?> <div class="clearfix visible-md visible-sm"></div> <?php } elseif (($column_left || $column_right) && ($i % 3 == 0)) { ?> <div class="clearfix visible-md"></div> <?php } elseif ($i % 4 == 0) { ?> <div class="clearfix visible-md"></div> <?php } */ ?> <?php $i++; ?> <?php } ?> </div> <?php } ?> <?php if ($tags) { ?> <p><?php echo $text_tags; ?> <?php for ($i = 0; $i < count($tags); $i++) { ?> <?php if ($i < (count($tags) - 1)) { ?> <a href="<?php echo $tags[$i]['href']; ?>"><?php echo $tags[$i]['tag']; ?></a>, <?php } else { ?> <a href="<?php echo $tags[$i]['href']; ?>"><?php echo $tags[$i]['tag']; ?></a> <?php } ?> <?php } ?> </p> <?php } ?> <?php echo $content_bottom; ?></div> <?php echo $column_right; ?></div> </div> <script type="text/javascript"><!-- $('select[name=\'recurring_id\'], input[name="quantity"]').change(function(){ $.ajax({ url: 'index.php?route=product/product/getRecurringDescription', type: 'post', data: $('input[name=\'product_id\'], input[name=\'quantity\'], select[name=\'recurring_id\']'), dataType: 'json', beforeSend: function() { $('#recurring-description').html(''); }, success: function(json) { $('.alert, .text-danger').remove(); if (json['success']) { $('#recurring-description').html(json['success']); } } }); }); //--></script> <script type="text/javascript"><!-- $('#button-cart').on('click', function() { $.ajax({ url: 'index.php?route=checkout/cart/add', type: 'post', data: $('#product input[type=\'text\'], #product input[type=\'hidden\'], #product input[type=\'radio\']:checked, #product input[type=\'checkbox\']:checked, #product select, #product textarea'), dataType: 'json', beforeSend: function() { $('#button-cart').button('loading'); }, complete: function() { $('#button-cart').button('reset'); }, success: function(json) { $('.alert, .text-danger').remove(); $('.form-group').removeClass('has-error'); if (json['error']) { if (json['error']['option']) { for (i in json['error']['option']) { var element = $('#input-option' + i.replace('_', '-')); if (element.parent().hasClass('input-group')) { element.parent().after('<div class="text-danger">' + json['error']['option'][i] + '</div>'); } else { element.after('<div class="text-danger">' + json['error']['option'][i] + '</div>'); } } } if (json['error']['recurring']) { $('select[name=\'recurring_id\']').after('<div class="text-danger">' + json['error']['recurring'] + '</div>'); } // Highlight any found errors $('.text-danger').parent().addClass('has-error'); } if (json['success']) { $('.breadcrumb').after('<div class="alert alert-success">' + json['success'] + '<button type="button" class="close" data-dismiss="alert">×</button></div>'); $('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>'); $('html, body').animate({ scrollTop: 0 }, 'slow'); $('#cart > ul').load('index.php?route=common/cart/info ul li'); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); }); //--></script> <script type="text/javascript"><!-- $('.date').datetimepicker({ pickTime: false }); $('.datetime').datetimepicker({ pickDate: true, pickTime: true }); $('.time').datetimepicker({ pickDate: false }); $('button[id^=\'button-upload\']').on('click', function() { var node = this; $('#form-upload').remove(); $('body').prepend('<form enctype="multipart/form-data" id="form-upload" style="display: none;"><input type="file" name="file" /></form>'); $('#form-upload input[name=\'file\']').trigger('click'); if (typeof timer != 'undefined') { clearInterval(timer); } timer = setInterval(function() { if ($('#form-upload input[name=\'file\']').val() != '') { clearInterval(timer); $.ajax({ url: 'index.php?route=tool/upload', type: 'post', dataType: 'json', data: new FormData($('#form-upload')[0]), cache: false, contentType: false, processData: false, beforeSend: function() { $(node).button('loading'); }, complete: function() { $(node).button('reset'); }, success: function(json) { $('.text-danger').remove(); if (json['error']) { $(node).parent().find('input').after('<div class="text-danger">' + json['error'] + '</div>'); } if (json['success']) { alert(json['success']); $(node).parent().find('input').attr('value', json['code']); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); } }, 500); }); //--></script> <script type="text/javascript"><!-- $('#review').delegate('.pagination a', 'click', function(e) { e.preventDefault(); $('#review').fadeOut('slow'); $('#review').load(this.href); $('#review').fadeIn('slow'); }); $('#button-review').on('click', function() { $.ajax({ url: 'index.php?route=product/product/write&product_id=<?php echo $product_id; ?>', type: 'post', dataType: 'json', data: $("#form-review").serialize(), beforeSend: function() { $('#button-review').button('loading'); }, complete: function() { $('#button-review').button('reset'); }, success: function(json) { $('.alert-success, .alert-danger').remove(); if (json['error']) { $('#review').after('<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + '</div>'); } if (json['success']) { $('#review').after('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + '</div>'); $('input[name=\'name\']').val(''); $('textarea[name=\'text\']').val(''); $('input[name=\'rating\']:checked').prop('checked', false); } } }); }); $(document).ready(function() { $('.thumbnails').magnificPopup({ type:'image', delegate: 'a', gallery: { enabled:true } }); }); //--></script> <?php echo $footer; ?> Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php echo $option_value['name']; ?> </div> что это? :)) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 4 минуты назад, Dimasscus сказал: <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php echo $option_value['name']; ?> </div> что это? :)) это мои эксперименты по выводу названий опций) забыл удалить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 1 час назад, piklas сказал: это мои эксперименты по выводу названий опций) забыл удалить <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php echo $option_value['name']; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <hr> </div> как то так. визуализируйте стилями как вам нужно 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 42 минуты назад, Dimasscus сказал: <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php echo $option_value['name']; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <hr> </div> как то так. визуализируйте стилями как вам нужно Спасибо большое сейчас попробую. Отпишусь. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 (изменено) 1 час назад, Dimasscus сказал: <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php echo $option_value['name']; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <hr> </div> как то так. визуализируйте стилями как вам нужно Работает, но выдает все опции и размер и цвет. А возможно что бы выводил только цвет и только одно значение, например: салатовый, серый, бирюза? без повторов? Изменено 17 января 2021 пользователем piklas Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 10 минут назад, piklas сказал: Работает, но выдает все опции и размер и цвет. А возможно что бы выводил только цвет и только одно значение, например: салатовый, серый, бирюза? без повторов? я не знаю откуда у вас повторы вот как это у меня https://23ocs.shops-market.com/index.php?route=product/product&product_id=40 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 ага. у вас размер также опцией radio сделан. тогда нужно по другому делать Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 1 минуту назад, Dimasscus сказал: я не знаю откуда у вас повторы вот как это у меня https://23ocs.shops-market.com/index.php?route=product/product&product_id=40 Повторы это из за модуля выбора опций, для связи размер + расцветка - это для связи с 1с нужно. Я вот думаю как то же можно разбить foreach и выводить только значение опции цвет? Спасибо за код. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 (изменено) 27 минут назад, piklas сказал: Повторы это из за модуля выбора опций, для связи размер + расцветка - это для связи с 1с нужно. Я вот думаю как то же можно разбить foreach и выводить только значение опции цвет? Спасибо за код. строчку <?php if ($option['type'] == 'radio') { ?> замените на <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> где 1- id опции. узнать id можете в админке открыв опцию (скрин) https://clip2net.com/s/4aAugtN обновленный код <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php echo $str = substr($str,0,-1).'.';?> Изменено 17 января 2021 пользователем Dimasscus 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 43 минуты назад, Dimasscus сказал: строчку <?php if ($option['type'] == 'radio') { ?> замените на <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> где 1- id опции. узнать id можете в админке открыв опцию (скрин) https://clip2net.com/s/4aAugtN обновленный код <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php echo $str = substr($str,0,-1).'.';?> Уже почти получилось. Только так и выводит списком, все комбинации цветов, а не просто ID цветов. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 28 минут назад, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Спасибо большое за помощь, буду дальше копать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 18 января 2021 Автор Поделиться Опубликовано: 18 января 2021 В 17.01.2021 в 23:36, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Разобрался с выводом текста <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '14' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php $str = substr($str,0,-1); ?> <?php $coloropc = implode(', ', array_unique(explode(',', $str)));?> <p> <font size="2" color="red"> <strong> В данной модели предусмотрен выбор расцветки: <?php echo $coloropc?>.</strong></font> </p> теперь проблема в том что выводимому результату пристраивается значение <div class="options"> , и вся разметка сайта рушиться. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации [Поддержка] OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 16 ответов 1 121 просмотр Speaker12 22 марта OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 0 комментариев 20 449 просмотров Speaker12 30 августа 2023 [Поддержка] OAP - опції як окремий товар 1 2 Автор: Speaker12, 13 июня 2023 опции варианты (и ещё 5) Теги: опции варианты комплекты товар цвет серии модели 36 ответов 2 588 просмотров Speaker12 18 февраля Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. Автор: Sha, 15 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 0 комментариев 49 266 просмотров Sha 15 марта 2017 [Поддержка] Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. 1 2 3 4 10 Автор: Sha, 16 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 240 ответов 43 963 просмотра COBECTb11 22 марта Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Настройка и оптимизация Добавление названий опций в описании карточки товара Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 Только что, piklas сказал: Шаблон дефонлтный. Спасибо за информацию буду копать. Если есть знающие люди, направьте на путь истинный. Если дефолтньій то все проще. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 К сожалению нет 2-ки развернутой. Показал бьі на примере Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 17 минут назад, Dimasscus сказал: К сожалению нет 2-ки развернутой. Показал бьі на примере Вот код из файла продукт. <?php echo $header; ?> <style> .addthis_toolbox.addthis_default_style .addthis_toolbox a.addthis_button_tweet { width: 79px; } </style> <div class="container"> <ul class="breadcrumb"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li> <?php } ?> </ul> <div class="row"><?php echo $column_left; ?> <?php if ($column_left && $column_right) { ?> <?php $class = 'col-sm-6'; ?> <?php } elseif ($column_left || $column_right) { ?> <?php $class = 'col-sm-9'; ?> <?php } else { ?> <?php $class = 'col-sm-12'; ?> <?php } ?> <div id="content" class="<?php echo $class; ?>"><?php echo $content_top; ?> <div class="row"> <?php if ($column_left || $column_right) { ?> <?php $class = 'col-sm-6'; ?> <?php } else { ?> <?php $class = 'col-sm-8'; ?> <?php } ?> <div class="<?php echo $class; ?>"> <?php if ($thumb || $images) { ?> <ul class="thumbnails"> <?php if ($thumb) { ?> <li><a class="thumbnail" href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>"><img class="lazyload" data-src="<?php echo $thumb; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a></li> <?php } ?> <?php if ($images) { ?> <?php foreach ($images as $image) { ?> <li class="image-additional"><a class="thumbnail" href="<?php echo $image['popup']; ?>" title="<?php echo $heading_title; ?>"> <img class="lazyload" data-src="<?php echo $image['thumb']; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a></li> <?php } ?> <?php } ?> </ul> <?php } ?> <ul class="nav nav-tabs"> <li class="active"><a href="#tab-description" data-toggle="tab"><?php echo $tab_description; ?></a></li> <?php if ($attribute_groups) { ?> <li><a href="#tab-specification" data-toggle="tab"><?php echo $tab_attribute; ?></a></li> <?php } ?> <?php if ($review_status) { ?> <li><a href="#tab-review" data-toggle="tab"><?php echo $tab_review; ?></a></li> <?php } ?> </ul> <div class="tab-content"> <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php echo $option_value['name']; ?> </div> <?php if ($attribute_groups) { ?> <div class="tab-pane" id="tab-specification"> <table class="table table-bordered"> <?php foreach ($attribute_groups as $attribute_group) { ?> <thead> <tr> <td colspan="2"><strong><?php echo $attribute_group['name']; ?></strong></td> </tr> </thead> <tbody> <?php foreach ($attribute_group['attribute'] as $attribute) { ?> <tr> <td><?php echo $attribute['name']; ?></td> <td><?php echo $attribute['text']; ?></td> </tr> <?php } ?> </tbody> <?php } ?> </table> </div> <?php } ?> <?php if ($review_status) { ?> <div class="tab-pane" id="tab-review"> <form class="form-horizontal" id="form-review"> <div id="review"></div> <h2><?php echo $text_write; ?></h2> <?php if ($review_guest) { ?> <div class="form-group required"> <div class="col-sm-12"> <label class="control-label" for="input-name"><?php echo $entry_name; ?></label> <input type="text" name="name" value="" id="input-name" class="form-control" /> </div> </div> <div class="form-group required"> <div class="col-sm-12"> <label class="control-label" for="input-review"><?php echo $entry_review; ?></label> <textarea name="text" rows="5" id="input-review" class="form-control"></textarea> <div class="help-block"><?php echo $text_note; ?></div> </div> </div> <div class="form-group required"> <div class="col-sm-12"> <label class="control-label"><?php echo $entry_rating; ?></label> <?php echo $entry_bad; ?> <input type="radio" name="rating" value="1" /> <input type="radio" name="rating" value="2" /> <input type="radio" name="rating" value="3" /> <input type="radio" name="rating" value="4" /> <input type="radio" name="rating" value="5" /> <?php echo $entry_good; ?></div> </div> <?php echo $captcha; ?> <div class="buttons clearfix"> <div class="pull-right"> <button type="button" id="button-review" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-primary"><?php echo $button_continue; ?></button> </div> </div> <?php } else { ?> <?php echo $text_login; ?> <?php } ?> </form> </div> <?php } ?> </div> </div> <?php if ($column_left || $column_right) { ?> <?php $class = 'col-sm-6'; ?> <?php } else { ?> <?php $class = 'col-sm-4'; ?> <?php } ?> <div class="<?php echo $class; ?>"> <div class="btn-group"> <button type="button" data-toggle="tooltip" class="btn btn-default" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product_id; ?>');"><i class="fa fa-heart"></i></button> <!--<button type="button" data-toggle="tooltip" class="btn btn-default" title="<?php echo $button_compare; ?>" onclick="compare.add('<?php echo $product_id; ?>');"><i class="fa fa-exchange"></i></button>--> </div> <h1><?php echo $heading_title; ?></h1> <ul class="list-unstyled"> <!--<?php if ($manufacturer) { ?> <li><?php echo $text_manufacturer; ?> <a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a></li> <?php } ?>--> <li><?php echo $text_model; ?> <?php echo $model; ?></li> <?php if ($reward) { ?> <li><?php echo $text_reward; ?> <?php echo $reward; ?></li> <?php } ?> <li><?php echo $text_stock; ?> <?php echo $stock; ?></li> </ul> <?php if ($price) { ?> <ul class="list-unstyled"> <?php if (!$special) { ?> <li> <h2><?php echo $price; ?></h2> </li> <?php } else { ?> <li><span style="text-decoration: line-through;"><?php echo $price; ?></span></li> <li> <h2><?php echo $special; ?></h2> </li> <?php } ?> <?php if ($tax) { ?> <li><?php echo $text_tax; ?> <?php echo $tax; ?></li> <?php } ?> <?php if ($points) { ?> <li><?php echo $text_points; ?> <?php echo $points; ?></li> <?php } ?> <?php if ($discounts) { ?> <li> <hr> </li> <?php foreach ($discounts as $discount) { ?> <li><?php echo $discount['quantity']; ?><?php echo $text_discount; ?><?php echo $discount['price']; ?></li> <?php } ?> <?php } ?> </ul> <?php } ?> <div id="product"> <?php if ($options) { ?> <hr> <h3><?php echo $text_option; ?></h3> <?php foreach ($options as $option) { ?> <?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> <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> <?php } ?> <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" 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 } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> <?php if ($option['type'] == 'checkbox') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="checkbox"> <label> <input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" 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 } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> <?php if ($option['type'] == 'image') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <img data-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 lazyload" /> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> <?php if ($option['type'] == 'text') { ?> <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> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['value']; ?>" placeholder="<?php echo $option['name']; ?>" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control" /> </div> <?php } ?> <?php if ($option['type'] == 'textarea') { ?> <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> <textarea name="option[<?php echo $option['product_option_id']; ?>]" rows="5" placeholder="<?php echo $option['name']; ?>" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control"><?php echo $option['value']; ?></textarea> </div> <?php } ?> <?php if ($option['type'] == 'file') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <button type="button" id="button-upload<?php echo $option['product_option_id']; ?>" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-default btn-block"><i class="fa fa-upload"></i> <?php echo $button_upload; ?></button> <input type="hidden" name="option[<?php echo $option['product_option_id']; ?>]" value="" id="input-option<?php echo $option['product_option_id']; ?>" /> </div> <?php } ?> <?php if ($option['type'] == 'date') { ?> <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="input-group date"> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['value']; ?>" data-date-format="YYYY-MM-DD" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control" /> <span class="input-group-btn"> <button class="btn btn-default" type="button"><i class="fa fa-calendar"></i></button> </span></div> </div> <?php } ?> <?php if ($option['type'] == 'datetime') { ?> <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="input-group datetime"> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['value']; ?>" data-date-format="YYYY-MM-DD HH:mm" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control" /> <span class="input-group-btn"> <button type="button" class="btn btn-default"><i class="fa fa-calendar"></i></button> </span></div> </div> <?php } ?> <?php if ($option['type'] == 'time') { ?> <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="input-group time"> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['value']; ?>" data-date-format="HH:mm" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control" /> <span class="input-group-btn"> <button type="button" class="btn btn-default"><i class="fa fa-calendar"></i></button> </span></div> </div> <?php } ?> <?php } ?> <?php } ?> <?php if ($recurrings) { ?> <hr> <h3><?php echo $text_payment_recurring ?></h3> <div class="form-group required"> <select name="recurring_id" class="form-control"> <option value=""><?php echo $text_select; ?></option> <?php foreach ($recurrings as $recurring) { ?> <option value="<?php echo $recurring['recurring_id'] ?>"><?php echo $recurring['name'] ?></option> <?php } ?> </select> <div class="help-block" id="recurring-description"></div> </div> <?php } ?> <div class="form-group"> <label class="control-label" for="input-quantity"><?php echo $entry_qty; ?></label> <input type="text" name="quantity" value="<?php echo $minimum; ?>" size="2" id="input-quantity" class="form-control" /> <input type="hidden" name="product_id" value="<?php echo $product_id; ?>" /> <br /> <button type="button" id="button-cart" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-primary btn-lg btn-block"><?php echo $button_cart; ?></button> </div> <?php if ($minimum > 1) { ?> <div class="alert alert-info"><i class="fa fa-info-circle"></i> <?php echo $text_minimum; ?></div> <?php } ?> </div> <?php if ($review_status) { ?> <div class="rating"> <p> <?php for ($i = 1; $i <= 5; $i++) { ?> <?php if ($rating < $i) { ?> <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } else { ?> <span class="fa fa-stack"><i class="fa fa-star fa-stack-1x"></i><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } ?> <?php } ?> <a href="" onclick="$('a[href=\'#tab-review\']').trigger('click'); return false;"><?php echo $reviews; ?></a> / <a href="" onclick="$('a[href=\'#tab-review\']').trigger('click'); return false;"><?php echo $text_write; ?></a></p> <hr> <script src="https://yastatic.net/es5-shims/0.0.2/es5-shims.min.js"></script> <script src="https://yastatic.net/share2/share.js"></script> <div class="ya-share2" data-services="vkontakte,odnoklassniki,viber,whatsapp,telegram"></div> </div> <?php } ?> </div> </div> <?php if ($products) { ?> <h3><?php echo $text_related; ?></h3> <div class="row"> <?php $i = 0; ?> <?php foreach ($products as $product) { ?> <?php if ($column_left && $column_right) { ?> <?php $class = 'col-lg-6 col-md-6 col-sm-12 col-xs-12'; ?> <?php } elseif ($column_left || $column_right) { ?> <?php $class = 'col-lg-4 col-md-4 col-sm-6 col-xs-12'; ?> <?php } else { ?> <?php $class = 'col-lg-3 col-md-3 col-sm-6 col-xs-12'; ?> <?php } ?> <div class="<?php echo $class; ?>"> <div class="product-thumb transition"> <div class="image"><a href="<?php echo $product['href']; ?>"><img data-src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive lazyload" /></a></div> <div class="caption"> <h4><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></h4> <p><?php echo $product['description']; ?></p> <?php if ($product['rating']) { ?> <div class="rating"> <?php for ($i = 1; $i <= 5; $i++) { ?> <?php if ($product['rating'] < $i) { ?> <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } else { ?> <span class="fa fa-stack"><i class="fa fa-star fa-stack-1x"></i><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } ?> <?php } ?> </div> <?php } ?> <?php if ($product['price']) { ?> <p class="price"> <?php if (!$product['special']) { ?> <?php echo $product['price']; ?> <?php } else { ?> <span class="price-new"><?php echo $product['special']; ?></span> <span class="price-old"><?php echo $product['price']; ?></span> <?php } ?> <?php if ($product['tax']) { ?> <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span> <?php } ?> </p> <?php } ?> </div> <div class="button-group"> <button type="button" onclick="cart.add('<?php echo $product['product_id']; ?>', '<?php echo $product['minimum']; ?>');"><span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart; ?></span> <i class="fa fa-shopping-cart"></i></button> <button type="button" data-toggle="tooltip" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-heart"></i></button> <!--<button type="button" data-toggle="tooltip" title="<?php echo $button_compare; ?>" onclick="compare.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-exchange"></i></button>--> </div> </div> </div> <?php /* if (($column_left && $column_right) && ($i % 2 == 0)) { ?> <div class="clearfix visible-md visible-sm"></div> <?php } elseif (($column_left || $column_right) && ($i % 3 == 0)) { ?> <div class="clearfix visible-md"></div> <?php } elseif ($i % 4 == 0) { ?> <div class="clearfix visible-md"></div> <?php } */ ?> <?php $i++; ?> <?php } ?> </div> <?php } ?> <?php if ($tags) { ?> <p><?php echo $text_tags; ?> <?php for ($i = 0; $i < count($tags); $i++) { ?> <?php if ($i < (count($tags) - 1)) { ?> <a href="<?php echo $tags[$i]['href']; ?>"><?php echo $tags[$i]['tag']; ?></a>, <?php } else { ?> <a href="<?php echo $tags[$i]['href']; ?>"><?php echo $tags[$i]['tag']; ?></a> <?php } ?> <?php } ?> </p> <?php } ?> <?php echo $content_bottom; ?></div> <?php echo $column_right; ?></div> </div> <script type="text/javascript"><!-- $('select[name=\'recurring_id\'], input[name="quantity"]').change(function(){ $.ajax({ url: 'index.php?route=product/product/getRecurringDescription', type: 'post', data: $('input[name=\'product_id\'], input[name=\'quantity\'], select[name=\'recurring_id\']'), dataType: 'json', beforeSend: function() { $('#recurring-description').html(''); }, success: function(json) { $('.alert, .text-danger').remove(); if (json['success']) { $('#recurring-description').html(json['success']); } } }); }); //--></script> <script type="text/javascript"><!-- $('#button-cart').on('click', function() { $.ajax({ url: 'index.php?route=checkout/cart/add', type: 'post', data: $('#product input[type=\'text\'], #product input[type=\'hidden\'], #product input[type=\'radio\']:checked, #product input[type=\'checkbox\']:checked, #product select, #product textarea'), dataType: 'json', beforeSend: function() { $('#button-cart').button('loading'); }, complete: function() { $('#button-cart').button('reset'); }, success: function(json) { $('.alert, .text-danger').remove(); $('.form-group').removeClass('has-error'); if (json['error']) { if (json['error']['option']) { for (i in json['error']['option']) { var element = $('#input-option' + i.replace('_', '-')); if (element.parent().hasClass('input-group')) { element.parent().after('<div class="text-danger">' + json['error']['option'][i] + '</div>'); } else { element.after('<div class="text-danger">' + json['error']['option'][i] + '</div>'); } } } if (json['error']['recurring']) { $('select[name=\'recurring_id\']').after('<div class="text-danger">' + json['error']['recurring'] + '</div>'); } // Highlight any found errors $('.text-danger').parent().addClass('has-error'); } if (json['success']) { $('.breadcrumb').after('<div class="alert alert-success">' + json['success'] + '<button type="button" class="close" data-dismiss="alert">×</button></div>'); $('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>'); $('html, body').animate({ scrollTop: 0 }, 'slow'); $('#cart > ul').load('index.php?route=common/cart/info ul li'); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); }); //--></script> <script type="text/javascript"><!-- $('.date').datetimepicker({ pickTime: false }); $('.datetime').datetimepicker({ pickDate: true, pickTime: true }); $('.time').datetimepicker({ pickDate: false }); $('button[id^=\'button-upload\']').on('click', function() { var node = this; $('#form-upload').remove(); $('body').prepend('<form enctype="multipart/form-data" id="form-upload" style="display: none;"><input type="file" name="file" /></form>'); $('#form-upload input[name=\'file\']').trigger('click'); if (typeof timer != 'undefined') { clearInterval(timer); } timer = setInterval(function() { if ($('#form-upload input[name=\'file\']').val() != '') { clearInterval(timer); $.ajax({ url: 'index.php?route=tool/upload', type: 'post', dataType: 'json', data: new FormData($('#form-upload')[0]), cache: false, contentType: false, processData: false, beforeSend: function() { $(node).button('loading'); }, complete: function() { $(node).button('reset'); }, success: function(json) { $('.text-danger').remove(); if (json['error']) { $(node).parent().find('input').after('<div class="text-danger">' + json['error'] + '</div>'); } if (json['success']) { alert(json['success']); $(node).parent().find('input').attr('value', json['code']); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); } }, 500); }); //--></script> <script type="text/javascript"><!-- $('#review').delegate('.pagination a', 'click', function(e) { e.preventDefault(); $('#review').fadeOut('slow'); $('#review').load(this.href); $('#review').fadeIn('slow'); }); $('#button-review').on('click', function() { $.ajax({ url: 'index.php?route=product/product/write&product_id=<?php echo $product_id; ?>', type: 'post', dataType: 'json', data: $("#form-review").serialize(), beforeSend: function() { $('#button-review').button('loading'); }, complete: function() { $('#button-review').button('reset'); }, success: function(json) { $('.alert-success, .alert-danger').remove(); if (json['error']) { $('#review').after('<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + '</div>'); } if (json['success']) { $('#review').after('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + '</div>'); $('input[name=\'name\']').val(''); $('textarea[name=\'text\']').val(''); $('input[name=\'rating\']:checked').prop('checked', false); } } }); }); $(document).ready(function() { $('.thumbnails').magnificPopup({ type:'image', delegate: 'a', gallery: { enabled:true } }); }); //--></script> <?php echo $footer; ?> Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php echo $option_value['name']; ?> </div> что это? :)) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 4 минуты назад, Dimasscus сказал: <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php echo $option_value['name']; ?> </div> что это? :)) это мои эксперименты по выводу названий опций) забыл удалить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 1 час назад, piklas сказал: это мои эксперименты по выводу названий опций) забыл удалить <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php echo $option_value['name']; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <hr> </div> как то так. визуализируйте стилями как вам нужно 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 42 минуты назад, Dimasscus сказал: <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php echo $option_value['name']; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <hr> </div> как то так. визуализируйте стилями как вам нужно Спасибо большое сейчас попробую. Отпишусь. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 (изменено) 1 час назад, Dimasscus сказал: <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php echo $option_value['name']; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <hr> </div> как то так. визуализируйте стилями как вам нужно Работает, но выдает все опции и размер и цвет. А возможно что бы выводил только цвет и только одно значение, например: салатовый, серый, бирюза? без повторов? Изменено 17 января 2021 пользователем piklas Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 10 минут назад, piklas сказал: Работает, но выдает все опции и размер и цвет. А возможно что бы выводил только цвет и только одно значение, например: салатовый, серый, бирюза? без повторов? я не знаю откуда у вас повторы вот как это у меня https://23ocs.shops-market.com/index.php?route=product/product&product_id=40 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 ага. у вас размер также опцией radio сделан. тогда нужно по другому делать Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 1 минуту назад, Dimasscus сказал: я не знаю откуда у вас повторы вот как это у меня https://23ocs.shops-market.com/index.php?route=product/product&product_id=40 Повторы это из за модуля выбора опций, для связи размер + расцветка - это для связи с 1с нужно. Я вот думаю как то же можно разбить foreach и выводить только значение опции цвет? Спасибо за код. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 (изменено) 27 минут назад, piklas сказал: Повторы это из за модуля выбора опций, для связи размер + расцветка - это для связи с 1с нужно. Я вот думаю как то же можно разбить foreach и выводить только значение опции цвет? Спасибо за код. строчку <?php if ($option['type'] == 'radio') { ?> замените на <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> где 1- id опции. узнать id можете в админке открыв опцию (скрин) https://clip2net.com/s/4aAugtN обновленный код <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php echo $str = substr($str,0,-1).'.';?> Изменено 17 января 2021 пользователем Dimasscus 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 43 минуты назад, Dimasscus сказал: строчку <?php if ($option['type'] == 'radio') { ?> замените на <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> где 1- id опции. узнать id можете в админке открыв опцию (скрин) https://clip2net.com/s/4aAugtN обновленный код <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php echo $str = substr($str,0,-1).'.';?> Уже почти получилось. Только так и выводит списком, все комбинации цветов, а не просто ID цветов. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 28 минут назад, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Спасибо большое за помощь, буду дальше копать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 18 января 2021 Автор Поделиться Опубликовано: 18 января 2021 В 17.01.2021 в 23:36, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Разобрался с выводом текста <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '14' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php $str = substr($str,0,-1); ?> <?php $coloropc = implode(', ', array_unique(explode(',', $str)));?> <p> <font size="2" color="red"> <strong> В данной модели предусмотрен выбор расцветки: <?php echo $coloropc?>.</strong></font> </p> теперь проблема в том что выводимому результату пристраивается значение <div class="options"> , и вся разметка сайта рушиться. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации [Поддержка] OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 16 ответов 1 121 просмотр Speaker12 22 марта OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 0 комментариев 20 449 просмотров Speaker12 30 августа 2023 [Поддержка] OAP - опції як окремий товар 1 2 Автор: Speaker12, 13 июня 2023 опции варианты (и ещё 5) Теги: опции варианты комплекты товар цвет серии модели 36 ответов 2 588 просмотров Speaker12 18 февраля Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. Автор: Sha, 15 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 0 комментариев 49 266 просмотров Sha 15 марта 2017 [Поддержка] Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. 1 2 3 4 10 Автор: Sha, 16 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 240 ответов 43 963 просмотра COBECTb11 22 марта Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Настройка и оптимизация Добавление названий опций в описании карточки товара Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php echo $option_value['name']; ?> </div> что это? :)) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 4 минуты назад, Dimasscus сказал: <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php echo $option_value['name']; ?> </div> что это? :)) это мои эксперименты по выводу названий опций) забыл удалить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 1 час назад, piklas сказал: это мои эксперименты по выводу названий опций) забыл удалить <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php echo $option_value['name']; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <hr> </div> как то так. визуализируйте стилями как вам нужно 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 42 минуты назад, Dimasscus сказал: <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php echo $option_value['name']; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <hr> </div> как то так. визуализируйте стилями как вам нужно Спасибо большое сейчас попробую. Отпишусь. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 (изменено) 1 час назад, Dimasscus сказал: <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php echo $option_value['name']; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <hr> </div> как то так. визуализируйте стилями как вам нужно Работает, но выдает все опции и размер и цвет. А возможно что бы выводил только цвет и только одно значение, например: салатовый, серый, бирюза? без повторов? Изменено 17 января 2021 пользователем piklas Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 10 минут назад, piklas сказал: Работает, но выдает все опции и размер и цвет. А возможно что бы выводил только цвет и только одно значение, например: салатовый, серый, бирюза? без повторов? я не знаю откуда у вас повторы вот как это у меня https://23ocs.shops-market.com/index.php?route=product/product&product_id=40 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 ага. у вас размер также опцией radio сделан. тогда нужно по другому делать Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 1 минуту назад, Dimasscus сказал: я не знаю откуда у вас повторы вот как это у меня https://23ocs.shops-market.com/index.php?route=product/product&product_id=40 Повторы это из за модуля выбора опций, для связи размер + расцветка - это для связи с 1с нужно. Я вот думаю как то же можно разбить foreach и выводить только значение опции цвет? Спасибо за код. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 (изменено) 27 минут назад, piklas сказал: Повторы это из за модуля выбора опций, для связи размер + расцветка - это для связи с 1с нужно. Я вот думаю как то же можно разбить foreach и выводить только значение опции цвет? Спасибо за код. строчку <?php if ($option['type'] == 'radio') { ?> замените на <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> где 1- id опции. узнать id можете в админке открыв опцию (скрин) https://clip2net.com/s/4aAugtN обновленный код <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php echo $str = substr($str,0,-1).'.';?> Изменено 17 января 2021 пользователем Dimasscus 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 43 минуты назад, Dimasscus сказал: строчку <?php if ($option['type'] == 'radio') { ?> замените на <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> где 1- id опции. узнать id можете в админке открыв опцию (скрин) https://clip2net.com/s/4aAugtN обновленный код <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php echo $str = substr($str,0,-1).'.';?> Уже почти получилось. Только так и выводит списком, все комбинации цветов, а не просто ID цветов. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 28 минут назад, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Спасибо большое за помощь, буду дальше копать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 18 января 2021 Автор Поделиться Опубликовано: 18 января 2021 В 17.01.2021 в 23:36, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Разобрался с выводом текста <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '14' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php $str = substr($str,0,-1); ?> <?php $coloropc = implode(', ', array_unique(explode(',', $str)));?> <p> <font size="2" color="red"> <strong> В данной модели предусмотрен выбор расцветки: <?php echo $coloropc?>.</strong></font> </p> теперь проблема в том что выводимому результату пристраивается значение <div class="options"> , и вся разметка сайта рушиться. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации [Поддержка] OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 16 ответов 1 121 просмотр Speaker12 22 марта OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 0 комментариев 20 449 просмотров Speaker12 30 августа 2023 [Поддержка] OAP - опції як окремий товар 1 2 Автор: Speaker12, 13 июня 2023 опции варианты (и ещё 5) Теги: опции варианты комплекты товар цвет серии модели 36 ответов 2 588 просмотров Speaker12 18 февраля Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. Автор: Sha, 15 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 0 комментариев 49 266 просмотров Sha 15 марта 2017 [Поддержка] Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. 1 2 3 4 10 Автор: Sha, 16 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 240 ответов 43 963 просмотра COBECTb11 22 марта Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Настройка и оптимизация Добавление названий опций в описании карточки товара Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 1 час назад, piklas сказал: это мои эксперименты по выводу названий опций) забыл удалить <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php echo $option_value['name']; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <hr> </div> как то так. визуализируйте стилями как вам нужно 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 42 минуты назад, Dimasscus сказал: <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php echo $option_value['name']; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <hr> </div> как то так. визуализируйте стилями как вам нужно Спасибо большое сейчас попробую. Отпишусь. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 (изменено) 1 час назад, Dimasscus сказал: <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php echo $option_value['name']; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <hr> </div> как то так. визуализируйте стилями как вам нужно Работает, но выдает все опции и размер и цвет. А возможно что бы выводил только цвет и только одно значение, например: салатовый, серый, бирюза? без повторов? Изменено 17 января 2021 пользователем piklas Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 10 минут назад, piklas сказал: Работает, но выдает все опции и размер и цвет. А возможно что бы выводил только цвет и только одно значение, например: салатовый, серый, бирюза? без повторов? я не знаю откуда у вас повторы вот как это у меня https://23ocs.shops-market.com/index.php?route=product/product&product_id=40 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 ага. у вас размер также опцией radio сделан. тогда нужно по другому делать Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 1 минуту назад, Dimasscus сказал: я не знаю откуда у вас повторы вот как это у меня https://23ocs.shops-market.com/index.php?route=product/product&product_id=40 Повторы это из за модуля выбора опций, для связи размер + расцветка - это для связи с 1с нужно. Я вот думаю как то же можно разбить foreach и выводить только значение опции цвет? Спасибо за код. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 (изменено) 27 минут назад, piklas сказал: Повторы это из за модуля выбора опций, для связи размер + расцветка - это для связи с 1с нужно. Я вот думаю как то же можно разбить foreach и выводить только значение опции цвет? Спасибо за код. строчку <?php if ($option['type'] == 'radio') { ?> замените на <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> где 1- id опции. узнать id можете в админке открыв опцию (скрин) https://clip2net.com/s/4aAugtN обновленный код <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php echo $str = substr($str,0,-1).'.';?> Изменено 17 января 2021 пользователем Dimasscus 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 43 минуты назад, Dimasscus сказал: строчку <?php if ($option['type'] == 'radio') { ?> замените на <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> где 1- id опции. узнать id можете в админке открыв опцию (скрин) https://clip2net.com/s/4aAugtN обновленный код <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php echo $str = substr($str,0,-1).'.';?> Уже почти получилось. Только так и выводит списком, все комбинации цветов, а не просто ID цветов. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 28 минут назад, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Спасибо большое за помощь, буду дальше копать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 18 января 2021 Автор Поделиться Опубликовано: 18 января 2021 В 17.01.2021 в 23:36, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Разобрался с выводом текста <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '14' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php $str = substr($str,0,-1); ?> <?php $coloropc = implode(', ', array_unique(explode(',', $str)));?> <p> <font size="2" color="red"> <strong> В данной модели предусмотрен выбор расцветки: <?php echo $coloropc?>.</strong></font> </p> теперь проблема в том что выводимому результату пристраивается значение <div class="options"> , и вся разметка сайта рушиться. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации [Поддержка] OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 16 ответов 1 121 просмотр Speaker12 22 марта OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 0 комментариев 20 449 просмотров Speaker12 30 августа 2023 [Поддержка] OAP - опції як окремий товар 1 2 Автор: Speaker12, 13 июня 2023 опции варианты (и ещё 5) Теги: опции варианты комплекты товар цвет серии модели 36 ответов 2 588 просмотров Speaker12 18 февраля Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. Автор: Sha, 15 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 0 комментариев 49 266 просмотров Sha 15 марта 2017 [Поддержка] Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. 1 2 3 4 10 Автор: Sha, 16 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 240 ответов 43 963 просмотра COBECTb11 22 марта Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Настройка и оптимизация Добавление названий опций в описании карточки товара Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 (изменено) 1 час назад, Dimasscus сказал: <div class="tab-pane active" id="tab-description"><?php echo $description; ?> <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php echo $option_value['name']; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <hr> </div> как то так. визуализируйте стилями как вам нужно Работает, но выдает все опции и размер и цвет. А возможно что бы выводил только цвет и только одно значение, например: салатовый, серый, бирюза? без повторов? Изменено 17 января 2021 пользователем piklas Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 10 минут назад, piklas сказал: Работает, но выдает все опции и размер и цвет. А возможно что бы выводил только цвет и только одно значение, например: салатовый, серый, бирюза? без повторов? я не знаю откуда у вас повторы вот как это у меня https://23ocs.shops-market.com/index.php?route=product/product&product_id=40 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 ага. у вас размер также опцией radio сделан. тогда нужно по другому делать Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 1 минуту назад, Dimasscus сказал: я не знаю откуда у вас повторы вот как это у меня https://23ocs.shops-market.com/index.php?route=product/product&product_id=40 Повторы это из за модуля выбора опций, для связи размер + расцветка - это для связи с 1с нужно. Я вот думаю как то же можно разбить foreach и выводить только значение опции цвет? Спасибо за код. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 (изменено) 27 минут назад, piklas сказал: Повторы это из за модуля выбора опций, для связи размер + расцветка - это для связи с 1с нужно. Я вот думаю как то же можно разбить foreach и выводить только значение опции цвет? Спасибо за код. строчку <?php if ($option['type'] == 'radio') { ?> замените на <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> где 1- id опции. узнать id можете в админке открыв опцию (скрин) https://clip2net.com/s/4aAugtN обновленный код <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php echo $str = substr($str,0,-1).'.';?> Изменено 17 января 2021 пользователем Dimasscus 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 43 минуты назад, Dimasscus сказал: строчку <?php if ($option['type'] == 'radio') { ?> замените на <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> где 1- id опции. узнать id можете в админке открыв опцию (скрин) https://clip2net.com/s/4aAugtN обновленный код <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php echo $str = substr($str,0,-1).'.';?> Уже почти получилось. Только так и выводит списком, все комбинации цветов, а не просто ID цветов. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 28 минут назад, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Спасибо большое за помощь, буду дальше копать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 18 января 2021 Автор Поделиться Опубликовано: 18 января 2021 В 17.01.2021 в 23:36, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Разобрался с выводом текста <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '14' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php $str = substr($str,0,-1); ?> <?php $coloropc = implode(', ', array_unique(explode(',', $str)));?> <p> <font size="2" color="red"> <strong> В данной модели предусмотрен выбор расцветки: <?php echo $coloropc?>.</strong></font> </p> теперь проблема в том что выводимому результату пристраивается значение <div class="options"> , и вся разметка сайта рушиться. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации [Поддержка] OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 16 ответов 1 121 просмотр Speaker12 22 марта OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 0 комментариев 20 449 просмотров Speaker12 30 августа 2023 [Поддержка] OAP - опції як окремий товар 1 2 Автор: Speaker12, 13 июня 2023 опции варианты (и ещё 5) Теги: опции варианты комплекты товар цвет серии модели 36 ответов 2 588 просмотров Speaker12 18 февраля Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. Автор: Sha, 15 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 0 комментариев 49 266 просмотров Sha 15 марта 2017 [Поддержка] Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. 1 2 3 4 10 Автор: Sha, 16 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 240 ответов 43 963 просмотра COBECTb11 22 марта Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Настройка и оптимизация Добавление названий опций в описании карточки товара Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 10 минут назад, piklas сказал: Работает, но выдает все опции и размер и цвет. А возможно что бы выводил только цвет и только одно значение, например: салатовый, серый, бирюза? без повторов? я не знаю откуда у вас повторы вот как это у меня https://23ocs.shops-market.com/index.php?route=product/product&product_id=40 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 ага. у вас размер также опцией radio сделан. тогда нужно по другому делать Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 1 минуту назад, Dimasscus сказал: я не знаю откуда у вас повторы вот как это у меня https://23ocs.shops-market.com/index.php?route=product/product&product_id=40 Повторы это из за модуля выбора опций, для связи размер + расцветка - это для связи с 1с нужно. Я вот думаю как то же можно разбить foreach и выводить только значение опции цвет? Спасибо за код. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 (изменено) 27 минут назад, piklas сказал: Повторы это из за модуля выбора опций, для связи размер + расцветка - это для связи с 1с нужно. Я вот думаю как то же можно разбить foreach и выводить только значение опции цвет? Спасибо за код. строчку <?php if ($option['type'] == 'radio') { ?> замените на <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> где 1- id опции. узнать id можете в админке открыв опцию (скрин) https://clip2net.com/s/4aAugtN обновленный код <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php echo $str = substr($str,0,-1).'.';?> Изменено 17 января 2021 пользователем Dimasscus 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 43 минуты назад, Dimasscus сказал: строчку <?php if ($option['type'] == 'radio') { ?> замените на <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> где 1- id опции. узнать id можете в админке открыв опцию (скрин) https://clip2net.com/s/4aAugtN обновленный код <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php echo $str = substr($str,0,-1).'.';?> Уже почти получилось. Только так и выводит списком, все комбинации цветов, а не просто ID цветов. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 28 минут назад, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Спасибо большое за помощь, буду дальше копать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 18 января 2021 Автор Поделиться Опубликовано: 18 января 2021 В 17.01.2021 в 23:36, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Разобрался с выводом текста <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '14' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php $str = substr($str,0,-1); ?> <?php $coloropc = implode(', ', array_unique(explode(',', $str)));?> <p> <font size="2" color="red"> <strong> В данной модели предусмотрен выбор расцветки: <?php echo $coloropc?>.</strong></font> </p> теперь проблема в том что выводимому результату пристраивается значение <div class="options"> , и вся разметка сайта рушиться. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации [Поддержка] OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 16 ответов 1 121 просмотр Speaker12 22 марта OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 0 комментариев 20 449 просмотров Speaker12 30 августа 2023 [Поддержка] OAP - опції як окремий товар 1 2 Автор: Speaker12, 13 июня 2023 опции варианты (и ещё 5) Теги: опции варианты комплекты товар цвет серии модели 36 ответов 2 588 просмотров Speaker12 18 февраля Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. Автор: Sha, 15 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 0 комментариев 49 266 просмотров Sha 15 марта 2017 [Поддержка] Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. 1 2 3 4 10 Автор: Sha, 16 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 240 ответов 43 963 просмотра COBECTb11 22 марта Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Настройка и оптимизация Добавление названий опций в описании карточки товара Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha
Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 (изменено) 27 минут назад, piklas сказал: Повторы это из за модуля выбора опций, для связи размер + расцветка - это для связи с 1с нужно. Я вот думаю как то же можно разбить foreach и выводить только значение опции цвет? Спасибо за код. строчку <?php if ($option['type'] == 'radio') { ?> замените на <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> где 1- id опции. узнать id можете в админке открыв опцию (скрин) https://clip2net.com/s/4aAugtN обновленный код <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php echo $str = substr($str,0,-1).'.';?> Изменено 17 января 2021 пользователем Dimasscus 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 43 минуты назад, Dimasscus сказал: строчку <?php if ($option['type'] == 'radio') { ?> замените на <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> где 1- id опции. узнать id можете в админке открыв опцию (скрин) https://clip2net.com/s/4aAugtN обновленный код <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '1' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php echo $str = substr($str,0,-1).'.';?> Уже почти получилось. Только так и выводит списком, все комбинации цветов, а не просто ID цветов. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 28 минут назад, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Спасибо большое за помощь, буду дальше копать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 18 января 2021 Автор Поделиться Опубликовано: 18 января 2021 В 17.01.2021 в 23:36, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Разобрался с выводом текста <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '14' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php $str = substr($str,0,-1); ?> <?php $coloropc = implode(', ', array_unique(explode(',', $str)));?> <p> <font size="2" color="red"> <strong> В данной модели предусмотрен выбор расцветки: <?php echo $coloropc?>.</strong></font> </p> теперь проблема в том что выводимому результату пристраивается значение <div class="options"> , и вся разметка сайта рушиться. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации [Поддержка] OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 16 ответов 1 121 просмотр Speaker12 22 марта OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 0 комментариев 20 449 просмотров Speaker12 30 августа 2023 [Поддержка] OAP - опції як окремий товар 1 2 Автор: Speaker12, 13 июня 2023 опции варианты (и ещё 5) Теги: опции варианты комплекты товар цвет серии модели 36 ответов 2 588 просмотров Speaker12 18 февраля Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. Автор: Sha, 15 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 0 комментариев 49 266 просмотров Sha 15 марта 2017 [Поддержка] Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. 1 2 3 4 10 Автор: Sha, 16 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 240 ответов 43 963 просмотра COBECTb11 22 марта Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Настройка и оптимизация Добавление названий опций в описании карточки товара
Dimasscus Опубликовано: 17 января 2021 Поделиться Опубликовано: 17 января 2021 Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
piklas Опубликовано: 17 января 2021 Автор Поделиться Опубликовано: 17 января 2021 28 минут назад, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Спасибо большое за помощь, буду дальше копать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... piklas Опубликовано: 18 января 2021 Автор Поделиться Опубликовано: 18 января 2021 В 17.01.2021 в 23:36, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Разобрался с выводом текста <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '14' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php $str = substr($str,0,-1); ?> <?php $coloropc = implode(', ', array_unique(explode(',', $str)));?> <p> <font size="2" color="red"> <strong> В данной модели предусмотрен выбор расцветки: <?php echo $coloropc?>.</strong></font> </p> теперь проблема в том что выводимому результату пристраивается значение <div class="options"> , и вся разметка сайта рушиться. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Похожие публикации [Поддержка] OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 16 ответов 1 121 просмотр Speaker12 22 марта OAP PRO - AJAX опции как отдельные товары с автоматической связкой Автор: Speaker12, 22 октября 2023 опции варианты (и ещё 7) Теги: опции варианты комплекты серии группы модели связи ajax товары 0 комментариев 20 449 просмотров Speaker12 30 августа 2023 [Поддержка] OAP - опції як окремий товар 1 2 Автор: Speaker12, 13 июня 2023 опции варианты (и ещё 5) Теги: опции варианты комплекты товар цвет серии модели 36 ответов 2 588 просмотров Speaker12 18 февраля Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. Автор: Sha, 15 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 0 комментариев 49 266 просмотров Sha 15 марта 2017 [Поддержка] Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. 1 2 3 4 10 Автор: Sha, 16 марта 2017 batch chat gpt (и ещё 101) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 240 ответов 43 963 просмотра COBECTb11 22 марта Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу.
piklas Опубликовано: 18 января 2021 Автор Поделиться Опубликовано: 18 января 2021 В 17.01.2021 в 23:36, Dimasscus сказал: Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе Разобрался с выводом текста <?php if ($options) { ?> <?php $str = '';?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio' && $option['option_id'] == '14' ) { ?> <?php foreach ($option['product_option_value'] as $option_value) { ?> <?php $str .= $option_value['name'].','; ?> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php $str = substr($str,0,-1); ?> <?php $coloropc = implode(', ', array_unique(explode(',', $str)));?> <p> <font size="2" color="red"> <strong> В данной модели предусмотрен выбор расцветки: <?php echo $coloropc?>.</strong></font> </p> теперь проблема в том что выводимому результату пристраивается значение <div class="options"> , и вся разметка сайта рушиться. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1
Рекомендованные сообщения