Jump to content
piklas

Добавление названий опций в описании карточки товара

Recommended Posts

Добрый день, подскажите возможно ли сделать так что бы в описании товара добавлялись названия опций (расцветки) которые возможно заказать, и автоматом скрывались названия тех опций которые закончились для конкретного товара?

408678285_.png.702763ed82e74067b77139c203acfdff.png

Edited by piklas

Share this post


Link to post
Share on other sites

Можно

Share this post


Link to post
Share on other sites
34 минуты назад, Dimasscus сказал:

Можно

Отлично, а подскажите куда копать? Я так понимаю надо модифицировать файл product.tpl? В нем добавлять код который будет отвечать за вывод "Названия цвета" опции.

Если не трудно то подскажите с какими переменными работать?

Share this post


Link to post
Share on other sites
12 минут назад, piklas сказал:

Отлично, а подскажите куда копать? Я так понимаю надо модифицировать файл product.tpl? В нем добавлять код который будет отвечать за вывод "Названия цвета" опции.

Если не трудно то подскажите с какими переменными работать?

С теми же что вьіводят опции в блоке  product. Нужно смотреть на конкретном шаблоне. Если в кратце- взять тот же массив переменньіх, и поместить его в блок описания, сформировав отображение так как вам нужно

Share this post


Link to post
Share on other sites

Шаблон дефонлтный. Спасибо за информацию буду копать. Если есть знающие люди, направьте на путь истинный.

Share this post


Link to post
Share on other sites
Только что, piklas сказал:

Шаблон дефонлтный. Спасибо за информацию буду копать. Если есть знающие люди, направьте на путь истинный.

Если дефолтньій то все проще. 

Share this post


Link to post
Share on other sites

К сожалению нет 2-ки развернутой. Показал бьі на примере

Share this post


Link to post
Share on other sites
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>
                    &nbsp;&nbsp;&nbsp; <?php echo $entry_bad; ?>&nbsp;
                    <input type="radio" name="rating" value="1" />
                    &nbsp;
                    <input type="radio" name="rating" value="2" />
                    &nbsp;
                    <input type="radio" name="rating" value="3" />
                    &nbsp;
                    <input type="radio" name="rating" value="4" />
                    &nbsp;
                    <input type="radio" name="rating" value="5" />
                    &nbsp;<?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">&times;</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; ?>

 

Share this post


Link to post
Share on other sites
 <div class="tab-pane active" id="tab-description"><?php echo $description; ?> 
			
			
			
			
			<?php echo $option_value['name']; ?>
			
			
			
			</div>

что это? :))

Share this post


Link to post
Share on other sites
4 минуты назад, Dimasscus сказал:
 <div class="tab-pane active" id="tab-description"><?php echo $description; ?> 
			
			
			
			
			<?php echo $option_value['name']; ?>
			
			
			
			</div>

что это? :))

это мои эксперименты по выводу названий опций) забыл удалить

Share this post


Link to post
Share on other sites
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 1

Share this post


Link to post
Share on other sites
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>

как то так. визуализируйте стилями как вам нужно

Спасибо большое сейчас попробую. Отпишусь.

Share this post


Link to post
Share on other sites
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>

как то так. визуализируйте стилями как вам нужно

449891710_.png.bef3af08a02002f60e83e36ed65881b4.png

Работает, но выдает все опции и размер и цвет. А возможно что бы выводил только цвет  и только одно значение, например: салатовый, серый, бирюза? без повторов?

Edited by piklas

Share this post


Link to post
Share on other sites
10 минут назад, piklas сказал:

449891710_.png.bef3af08a02002f60e83e36ed65881b4.png

Работает, но выдает все опции и размер и цвет. А возможно что бы выводил только цвет  и только одно значение, например: салатовый, серый, бирюза? без повторов?

я не знаю откуда у вас повторы

вот как это у меня https://23ocs.shops-market.com/index.php?route=product/product&product_id=40

Share this post


Link to post
Share on other sites

ага. у вас размер также опцией radio сделан. тогда нужно по другому делать

Share this post


Link to post
Share on other sites
1 минуту назад, Dimasscus сказал:

я не знаю откуда у вас повторы

вот как это у меня https://23ocs.shops-market.com/index.php?route=product/product&product_id=40

Повторы это из за модуля выбора опций, для связи размер + расцветка - это для связи с 1с нужно.

Я вот думаю как то же можно разбить foreach и выводить только значение опции цвет?

Спасибо за код.

Share this post


Link to post
Share on other sites
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).'.';?>

 

Edited by Dimasscus
  • +1 1

Share this post


Link to post
Share on other sites
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 цветов.

1481760574_.thumb.png.60202bd9a3254822a7c71c7dd331fffe.png

Share this post


Link to post
Share on other sites

Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе

  • +1 1

Share this post


Link to post
Share on other sites
28 минут назад, Dimasscus сказал:

Ну что я могу сказать- значит у вас не дефолт. А по фотографии гадать- такое сеюе

Спасибо большое за помощь, буду дальше копать.

Share this post


Link to post
Share on other sites
В 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"> , и вся разметка сайта рушиться.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By gregor
      350.00 руб
      Скачать/Купить дополнение


      Автоматичесий пересчет цены при выборе опций товара
      При выборе опций на странице товара, автоматически именяються основная и/или специальная цена, цена без налогов, цена в баллах,
      а также цены со скидками. Модуль на основе vQmod, поэтому в оригинальные файлы ocStore изменения не вносятся.
      Совместимо с OpenCart 1.5.4.1-1.5.5.1
      Пример: http://1551.4opencart.ru/index.php?route=product/product&product_id=42
      Добавил gregor Добавлено 04.04.2013 Категория Цены, скидки, акции, подарки  
    • By cmd
      Скачать/Купить дополнение


      Обновление цены при выборе опции c AJAX
      Это дополнение выполняет пересчет и обновление цены товара каждый раз, когда пользователь выбирает опцию или меняет количество товара. Пересчет выполняется посредством ajax-запроса, что позволяет учитывать различные косвенные факторы, которые могут влиять на ценообразование.
      Дополнение умеет:
      обновлять основную цену
      обновлять акционную цену
      обновлять цену без налогов
      расчитывать цену с учетом количества товара
      учитывать налоги
      использовать кеш для снижения нагрузки

      ДЕМО
      Посмотреть другие дополнения автора
      Добавил cmd Добавлено 30.11.2013 Категория Цены, скидки, акции, подарки  
    • By Rigur
      Знаю как обычные товары добавляются 
      В карточке товара через ajax запрос отправляется в контроллер 
      data: $('#product input[type=\'text\'], #product input[type=\'hidden\'], #product input[type=\'radio\']:checked, #product input[type=\'checkbox\']:checked, #product select, #product textarea'), Но у меня другая цена указана в опциях я ее изменил в контроллере на скидочную. Проблема в том что при добавлении товара в корзину не учитывается то что цена изменена. И добавляет обычную цену опции а должна быть акционная
    • By Sunser
      450.00 руб
      Скачать/Купить дополнение


      Content manager – модуль учета контента.
      Content manager – модуль учета контента.

      Расширение подходит и тестировалось на версиях Opencart 2.0, 2.1, 2.2, 2.3 и 3.0
      Расширение подходит и тестировалось на версиях ocStore 2.1, 2.3 и 3.0
      Данные версии CMS брались с официальных сайтов OpenCart и ocStore.
       
      -- Установка расширения:
      1) Зайдите в свой установщик модификаторов, в админ панели, выберите модуль нужной версии, после чего установите;
      2) После установки зайдите в модификаторы и обновите свои модификаторы;
      3) Потом перейдите в Система > Группа пользователей, там выберите свой профиль, обычно это Администратор или какой вам надо где нужен что бы модуль отображался. И в выбранном вами профиле дайте права на просмотр и изменение модуля, он там будет в списке. Или же просто нажмете выбрать все, после чего сохраните настройки. 
      Если этого не сделать, модуль не появится в меню и вы не сможете его редактировать.
      После чего модуль появится в разделе > Учеты > «Учета контента».
      Модуль не заменяет никаких файлов.
       
      -- Что может модуль:
      1) Модуль ведет учет контента. То есть следит за изменением раздела:
      •    Категории
      •    Товары
      •    Производители
      •    Отзывы
      •    Статьи
      •    Опции
      •    Атрибуты
      •    Группа атрибутов
      •    Загрузки
      2) Модуль записывает и отображает изменения когда вы редактируете, добавляете или удаляете контент в пунктах, перечисленных высше;
      3) В модуле можно включать и выключать запись учета. Когда хотите модуль пишет изменения, когда нет, он не отслеживает изменения
      3) В модуле отображается что менялось, категории, товар, т.д, название и ID;
      4) Модуль следит кто вносит изменения и его ID;
      5) Модуль показывает что именно делали, изменяли, удаляли или редактировали и так же дату и время когда это делалось;
      6) В модуле есть удобный фильтр, модуль может фильтровать по:
      •    По названию
      •    По имени и Фамилии
      •    По ID учета
      •    По ID того что вы редактировали
      •    По дате
      •    По Действию
      •    По типу редактирования, это разделы что вы редактировали
      7) В модуле есть сортировка по полям таблицы;
      8) В модуле есть экспорт в эксель, то есть вы можете экспортировать как весь список, так и отфильтрованный вами список;
      9) В модуле можно удалять записи на выбор;
      10) В модуле можно одним нажатии очищать все записи сразу. То есть он полностью очищает всю таблицу content_manager.
       
      Что не может модуль:
      БУДЬТЕ ВНИМАТЕЛЬНЫ К ЭТОМУ ПУНКТУ-------------------
      Модуль не работает, если вы используете другие менеджеры для редактирования своего контента. То есть если вы используете Bash editor или другие похожие. То модуль отслеживать действие не будет, так как модуль работает через стандартное редактирование.
       
      Зачем нужен этот модуль и как он работает?
      Иногда бывает что на сайте у вас много менеджеров или контентщиков которые правят ваш сайт. И вам надо отследить что они делает или даже вести по них учет для оплаты или других целей, то данный модуль вам поможет в этом и упростит в разы вам жизнь.
      Так же иногда может случится, если на сайте будет какая та ошибка в редактированном контенте и вам нужно найти причину или кто это сделал, то данный модуль поможет в поиске. 
      Или же просто следите за изменением вашего контента.
      Модуль не нуждается в настройках, просто установите модуль, обновите модификаторы и можете пользоваться.
      Не забывайте, что бы модуль начал записывать, нужно включить запись на странице «Учета контента», там сверху, справа сверху будет первая кнопка слева «Запустить запись»
       
      Проблемы и исправление модуля:
      1)    Вы установили модуль, обновили модификаторы, но он нигде не появился, в таком случае вам нужно в разделе «группа пользователей» дать разрешение на просмотр или изменение модуля;
      2)    При скачивании exel, выдает ошибку. В таком случае может быть ошибка с правами или лучше написать автору модуля, после чего ошибку быстро исправит.
      3)    При ошибке или баге пишите автору модуля, после чего в ближайшие время ошибку или баг будет поправлено.
      4)    Вы установили модуль, запустили запись, но ничего не записывает, скорее всего вы что-то меняли в структуре файлов или кода и модуль не находит указанного пути через ваши изменения, в данном случае это быстро исправляется путем указания правильных путей в модификаторе, но это работа с кодом. Если вы не можете это сделать, обратитесь к разработчику модуля или к своему админку или программисту, который ведет ваш сайт.
       
      Если вы заметите какие-то неполадки или у вас будет предложение по улучшению самого модуля или вам нужно доработать модуль для личных целей, пишите в личное сообщение данного сервиса, после чего я вам обязательно отвечу.
       
      Убедительная просьба, если вы заказываете дополнительные платные услуги по модулю, заранее согласуйте с автором, поскольку автор может быть занят или отсутствовать.
      Добавил Sunser Добавлено 22.04.2020 Категория Отчеты Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3
      2.1 OpenCart.Pro, ocShop Обращение к серверу разработчика Нет Старая цена 0  
    • By Sunser
      Content manager – модуль учета контента.

      Расширение подходит и тестировалось на версиях Opencart 2.0, 2.1, 2.2, 2.3 и 3.0
      Расширение подходит и тестировалось на версиях ocStore 2.1, 2.3 и 3.0
      Данные версии CMS брались с официальных сайтов OpenCart и ocStore.
       
      -- Установка расширения:
      1) Зайдите в свой установщик модификаторов, в админ панели, выберите модуль нужной версии, после чего установите;
      2) После установки зайдите в модификаторы и обновите свои модификаторы;
      3) Потом перейдите в Система > Группа пользователей, там выберите свой профиль, обычно это Администратор или какой вам надо где нужен что бы модуль отображался. И в выбранном вами профиле дайте права на просмотр и изменение модуля, он там будет в списке. Или же просто нажмете выбрать все, после чего сохраните настройки. 
      Если этого не сделать, модуль не появится в меню и вы не сможете его редактировать.
      После чего модуль появится в разделе > Учеты > «Учета контента».
      Модуль не заменяет никаких файлов.
       
      -- Что может модуль:
      1) Модуль ведет учет контента. То есть следит за изменением раздела:
      •    Категории
      •    Товары
      •    Производители
      •    Отзывы
      •    Статьи
      •    Опции
      •    Атрибуты
      •    Группа атрибутов
      •    Загрузки
      2) Модуль записывает и отображает изменения когда вы редактируете, добавляете или удаляете контент в пунктах, перечисленных высше;
      3) В модуле можно включать и выключать запись учета. Когда хотите модуль пишет изменения, когда нет, он не отслеживает изменения
      3) В модуле отображается что менялось, категории, товар, т.д, название и ID;
      4) Модуль следит кто вносит изменения и его ID;
      5) Модуль показывает что именно делали, изменяли, удаляли или редактировали и так же дату и время когда это делалось;
      6) В модуле есть удобный фильтр, модуль может фильтровать по:
      •    По названию
      •    По имени и Фамилии
      •    По ID учета
      •    По ID того что вы редактировали
      •    По дате
      •    По Действию
      •    По типу редактирования, это разделы что вы редактировали
      7) В модуле есть сортировка по полям таблицы;
      8) В модуле есть экспорт в эксель, то есть вы можете экспортировать как весь список, так и отфильтрованный вами список;
      9) В модуле можно удалять записи на выбор;
      10) В модуле можно одним нажатии очищать все записи сразу. То есть он полностью очищает всю таблицу content_manager.
       
      Что не может модуль:
      БУДЬТЕ ВНИМАТЕЛЬНЫ К ЭТОМУ ПУНКТУ-------------------
      Модуль не работает, если вы используете другие менеджеры для редактирования своего контента. То есть если вы используете Bash editor или другие похожие. То модуль отслеживать действие не будет, так как модуль работает через стандартное редактирование.
       
      Зачем нужен этот модуль и как он работает?
      Иногда бывает что на сайте у вас много менеджеров или контентщиков которые правят ваш сайт. И вам надо отследить что они делает или даже вести по них учет для оплаты или других целей, то данный модуль вам поможет в этом и упростит в разы вам жизнь.
      Так же иногда может случится, если на сайте будет какая та ошибка в редактированном контенте и вам нужно найти причину или кто это сделал, то данный модуль поможет в поиске. 
      Или же просто следите за изменением вашего контента.
      Модуль не нуждается в настройках, просто установите модуль, обновите модификаторы и можете пользоваться.
      Не забывайте, что бы модуль начал записывать, нужно включить запись на странице «Учета контента», там сверху, справа сверху будет первая кнопка слева «Запустить запись»
       
      Проблемы и исправление модуля:
      1)    Вы установили модуль, обновили модификаторы, но он нигде не появился, в таком случае вам нужно в разделе «группа пользователей» дать разрешение на просмотр или изменение модуля;
      2)    При скачивании exel, выдает ошибку. В таком случае может быть ошибка с правами или лучше написать автору модуля, после чего ошибку быстро исправит.
      3)    При ошибке или баге пишите автору модуля, после чего в ближайшие время ошибку или баг будет поправлено.
      4)    Вы установили модуль, запустили запись, но ничего не записывает, скорее всего вы что-то меняли в структуре файлов или кода и модуль не находит указанного пути через ваши изменения, в данном случае это быстро исправляется путем указания правильных путей в модификаторе, но это работа с кодом. Если вы не можете это сделать, обратитесь к разработчику модуля или к своему админку или программисту, который ведет ваш сайт.
       
      Если вы заметите какие-то неполадки или у вас будет предложение по улучшению самого модуля или вам нужно доработать модуль для личных целей, пишите в личное сообщение данного сервиса, после чего я вам обязательно отвечу.
       
      Убедительная просьба, если вы заказываете дополнительные платные услуги по модулю, заранее согласуйте с автором, поскольку автор может быть занят или отсутствовать.
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.