takecare1 Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 (изменено) Заголовок под кнопкой купить, а сам рекомендуемый продукт под описанием товара: Знает кто, как поправить? Изменено 16 мари 2016 пользователем takecare1 Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться...
ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Заголовок под кнопкой купить, а сам рекомендуемый продукт под описанием товара: Знает кто, как поправить? Вы серозной ? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Вы серозной ? не понимаю. Я изменений в код не вносил Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 не понимаю. Я изменений в код не вносил Вам по картинке никто не поможет, бросайте сайт, по другому можно только догадываться что не ик Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Извините!Вот згдесь можно посмотреть http://i4ai.ru/puer/dvortsoviy-puer/ Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Извините! Вот згдесь можно посмотреть http://i4ai.ru/puer/dvortsoviy-puer/ у Вас им разметка по бутстрапу не правильная, пересмотрите её product.tpl Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 у Вас им разметка по бутстрапу не правильная, пересмотрите её product.tpl Я слазил туда изначально, но сам в этом слили понимаю, если это не очень сложно, подскажите пожалуйси: Вот кусок кода: <?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 src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive" /></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> Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Ксити,забыл спросить, а выводите модуль вы то правую колонку ? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Наверное, я очень туп))Никуда не вывожу, просто задал в настройках товара - рекомендуемые к нему. Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Наверное, я очень туп)) Никуда не вывожу, просто задал в настройках товара - рекомендуемые к нему. ну тогда им все правильно выводиться, он и должен выводиться внизу Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Но ведь заголовок почему-то уплывает? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... igon Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 <h3><?php echo $text_related; ?></h3> <div class="row"> Попробуйте поменять эти строчки месими Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... igon Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Закрывающий </div> перед <h3><?php echo $text_related; ?></h3> сместился вниз, проверьте парность div`ов. Временно можно попропотому чтовать еещё и ик </div> <h3><?php echo $text_related; ?></h3> <div class="row"> Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Закрывающий </div> перед <h3><?php echo $text_related; ?></h3> сместился вниз, проверьте парность div`ов. Временно можно попропотому чтовать еещё и ик </div> <h3><?php echo $text_related; ?></h3> <div class="row"> не помогло( Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Но ведь заголовок почему-то уплывает? Заголовок плывет потому что у Вас не закрыт ггде-то </div> Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Забавно - сейчас вообещё удалил строчку <h3><?php echo $text_related; ?></h3> - заголовок не пропадает - wtf??? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... hoolygan Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Кеш. Большой камень раздора. Везгде кеш листить нужно. Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 ctrl+f5 жму, ничего не меняется Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Заголовок плывет потому что у Вас не закрыт ггде-то </div> можно как-то просто опрегделить, ггде? мож редактор какой-то есть с подсказками? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 (изменено) из папки system/storage/ выпилил product.tpl, сило все ок Изменено 16 мари 2016 пользователем takecare1 Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 может пояснить пожалуйси кто-то, в каких случай OC берет за основу файлы из system/storage/? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... hoolygan Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Во всех случаях. т.е. если они есть - то с модификаций, если нет - то с оригинальных файлов. :-D Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 17 мари 2016 Автор Погделиться Опубликовано: 17 мари 2016 (изменено) Обнаружил еещё икую хрень - если добавить товару #1 в список сопутствующих товар #2, а потом товару #2 присвоить какой-липотому что товар, то у товара #1 пропадает из сопутствующих товар #2, а второму добавляется еещё и #1 в список сопутствующих.Кто-то силкивался или может знает в чем проблема? под спойлер запилил весь код из product.tpl: <?php echo $header; ?> <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 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 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; ?></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><span id="formated_price" price="<?php echo $price_value; ?>"><?php echo $price; ?></span></h2> </li> <?php } else { ?> <li><span style="text-decoration: line-through;"><span id="formated_price" price="<?php echo $price_value; ?>"><?php echo $price; ?></span></span></li> <li> <h2><span id="formated_special" price="<?php echo $special_value; ?>"><?php echo $special; /**/ ?></span></h2> </li> <?php } ?> <?php if ($tax) { ?> <li><?php echo $text_tax; ?> <span id="formated_tax" price="<?php echo $tax_value; ?>"><?php echo $tax; ?></span></li> <?php } ?> <?php if ($points) { ?> <li><?php echo $text_points; ?> <span id="formated_points" points="<?php echo $points; /**/ ?>"><?php echo $points; /**/ ?></span></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"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <option value="<?php echo $option_value['product_option_value_id']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>"><?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php echo $option_value['name']; ?> </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 type="text/javascript" src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js" charset="utf-8"></script> <script type="text/javascript" src="//yastatic.net/share2/share.js" charset="utf-8"></script> <div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir,gplus,twitter,lj"></div><br /> <?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 src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive" /></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('<i class="fa fa-shopping-cart"></i> ' + json['total']); $('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'); }); $('#review').load('index.php?route=product/product/review&product_id=<?php echo $product_id; ?>'); $('#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> <script type="text/javascript"><!-- function price_format(n) { c = <?php echo (empty($currency['decimals']) ? "0" : $currency['decimals'] ); ?>; d = '<?php echo $currency['decimal_point']; ?>'; // decimal separator t = '<?php echo $currency['thousand_point']; ?>'; // thousands separator s_left = '<?php echo $currency['symbol_left']; ?>'; s_right = '<?php echo $currency['symbol_right']; ?>'; n = n * <?php echo $currency['value']; ?>; //sign = (n < 0) ? '-' : ''; //extracting the absolute value of the integer part of the number and converting to string i = parseInt(n = Math.abs(n).toFixed(c)) + ''; j = ((j = i.length) > 3) ? j % 3 : 0; return s_left + (j ? i.substr(0, j) + t : '') + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : '') + s_right; } function calculate_tax(price) { <?php // Process Tax Rates if (isset($tax_rates) && $tax) { foreach ($tax_rates as $tax_rate) { if ($tax_rate['type'] == 'F') { echo 'price += '.$tax_rate['rate'].';'; } elseif ($tax_rate['type'] == 'P') { echo 'price += (price * '.$tax_rate['rate'].') / 100.0;'; } } } ?> return price; } function process_discounts(price, quantity) { <?php foreach ($dicounts_unf as $discount) { echo 'if ((quantity >= '.$discount['quantity'].') && ('.$discount['price'].' < price)) price = '.$discount['price'].';'."\n"; } ?> return price; } animate_delay = 20; main_price_final = calculate_tax(Number($('#formated_price').attr('price'))); main_price_start = calculate_tax(Number($('#formated_price').attr('price'))); main_step = 0; main_timeout_id = 0; function animateMainPrice_callback() { main_price_start += main_step; if ((main_step > 0) && (main_price_start > main_price_final)){ main_price_start = main_price_final; } else if ((main_step < 0) && (main_price_start < main_price_final)) { main_price_start = main_price_final; } else if (main_step == 0) { main_price_start = main_price_final; } $('#formated_price').html( price_format(main_price_start) ); if (main_price_start != main_price_final) { main_timeout_id = setTimeout(animateMainPrice_callback, animate_delay); } } function animateMainPrice(price) { main_price_start = main_price_final; main_price_final = price; main_step = (main_price_final - main_price_start) / 10; clearTimeout(main_timeout_id); main_timeout_id = setTimeout(animateMainPrice_callback, animate_delay); } <?php if ($special) { ?> special_price_final = calculate_tax(Number($('#formated_special').attr('price'))); special_price_start = calculate_tax(Number($('#formated_special').attr('price'))); special_step = 0; special_timeout_id = 0; function animateSpecialPrice_callback() { special_price_start += special_step; if ((special_step > 0) && (special_price_start > special_price_final)){ special_price_start = special_price_final; } else if ((special_step < 0) && (special_price_start < special_price_final)) { special_price_start = special_price_final; } else if (special_step == 0) { special_price_start = special_price_final; } $('#formated_special').html( price_format(special_price_start) ); if (special_price_start != special_price_final) { special_timeout_id = setTimeout(animateSpecialPrice_callback, animate_delay); } } function animateSpecialPrice(price) { special_price_start = special_price_final; special_price_final = price; special_step = (special_price_final - special_price_start) / 10; clearTimeout(special_timeout_id); special_timeout_id = setTimeout(animateSpecialPrice_callback, animate_delay); } <?php } ?> function recalculateprice() { var main_price = Number($('#formated_price').attr('price')); var input_quantity = Number($('input[name="quantity"]').val()); var special = Number($('#formated_special').attr('price')); var tax = 0; if (isNaN(input_quantity)) input_quantity = 0; // Process Discounts. <?php if ($special) { ?> special = process_discounts(special, input_quantity); <?php } else { ?> main_price = process_discounts(main_price, input_quantity); <?php } ?> tax = process_discounts(tax, input_quantity); <?php if ($points) { ?> var points = Number($('#formated_points').attr('points')); $('input:checked,option:selected').each(function() { if ($(this).attr('points')) points += Number($(this).attr('points')); }); $('#formated_points').html(Number(points)); <?php } ?> var option_price = 0; $('input:checked,option:selected').each(function() { if ($(this).attr('price_prefix') == '=') { option_price += Number($(this).attr('price')); main_price = 0; special = 0; } }); $('input:checked,option:selected').each(function() { if ($(this).attr('price_prefix') == '+') { option_price += Number($(this).attr('price')); } if ($(this).attr('price_prefix') == '-') { option_price -= Number($(this).attr('price')); } if ($(this).attr('price_prefix') == 'u') { pcnt = 1.0 + (Number($(this).attr('price')) / 100.0); option_price *= pcnt; main_price *= pcnt; special *= pcnt; } if ($(this).attr('price_prefix') == '*') { option_price *= Number($(this).attr('price')); main_price *= Number($(this).attr('price')); special *= Number($(this).attr('price')); } }); special += option_price; main_price += option_price; <?php if ($special) { ?> tax = special; <?php } else { ?> tax = main_price; <?php } ?> // Process TAX. main_price = calculate_tax(main_price); special = calculate_tax(special); // Раскомментировать, если нужен вывод этоны с умножением на когдачество //main_price *= input_quantity; //special *= input_quantity; //tax *= input_quantity; // Display Main Price //$('#formated_price').html( price_format(main_price) ); animateMainPrice(main_price); <?php if ($special) { ?> //$('#formated_special').html( price_format(special) ); animateSpecialPrice(special); <?php } ?> <?php if ($tax) { ?> $('#formated_tax').html( price_format(tax) ); <?php } ?> } $(document).ready(function() { $('input[type="checkbox"]').bind('change', function() { recalculateprice(); }); $('input[type="radio"]').bind('change', function() { recalculateprice(); }); $('select').bind('change', function() { recalculateprice(); }); $quantity = $('input[name="quantity"]'); $quantity.data('val', $quantity.val()); (function() { if ($quantity.val() != $quantity.data('val')){ $quantity.data('val',$quantity.val()); recalculateprice(); } setTimeout(arguments.callee, 250); })(); recalculateprice(); }); //--></script> <?php echo $footer; ?> Изменено 17 мари 2016 пользователем takecare1 Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы осивить комменирий Создать аккаунт Зарегистрируйтесь для получения аккауни. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите згдесь. Войти сейчас Погделиться Больше спосопотому чтов погделиться... Подпислики 0 Перейти к списку тем Похожие публикации рекомендуемые товары Featured Plus - улучшенный модуль рекомендуемых товаров Автор: AlexDW, 14 июня 2017 вывод рекомендуемых товаров случайный порядок (и ещё 5) Теги: вывод рекомендуемых товаров случайный порядок случайном порядке random featured заголовок рекомендуемых товаров разные заголовки блок товаров 0 комменириев 18 344 просмотра AlexDW 14 июня 2017 Авто-подпотому чтор рекомендуемых товаров Автор: kJlukOo, 31 июля 2016 рекомендуемые авто рекомендуемые (и ещё 1) Теги: рекомендуемые авто рекомендуемые подпотому чтор рекомендуемых 1 комменирий 15 603 просмотра kJlukOo 10 мая 2017 связи товаров [Подгдержка] RelatedLinks - одно- и двусторонняя перелинковка рекомендуемых товаров 1 2 3 4 6 Автор: AlexDW, 12 апреля 2015 перелинковка рекомендуемые товары (и ещё 7) Теги: перелинковка рекомендуемые товары двухсторонняя связь односторонняя связь привязка товаров связать товары сопутствующие товары related products похожие товары 132 отвеи 11 703 просмотра AlexDW 22 июня связи товаров RelatedLinks - одно- и двусторонняя перелинковка рекомендуемых товаров Автор: AlexDW, 11 апреля 2015 перелинковка рекомендуемые товары (и ещё 7) Теги: перелинковка рекомендуемые товары двухсторонняя связь односторонняя связь привязка товаров связать товары сопутствующие товары related products похожие товары 0 комменириев 13 827 просмотров AlexDW 11 апреля 2015 мы рекомендуем Рекомендуемые товары Автор: OCdevWizard, 12 апреля 2018 ocdevwizard upsell (и ещё 24) Теги: ocdevwizard upsell маркетинг рекомендации конверсия с этим товаром покупают аксессуары рекомендуемые доп товары рекомендуемые товары похожие товары seo seo страницы посадочные страницы seo page extra featured featured товары из категории хиты продаж новинки новинки из категории хиты из категории вместе покупают хиты cross sell сопутстввующие товары 0 комменириев 8 753 просмотра OCdevWizard 12 апреля 2018 Сейчас на страниэто 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Песочница Рекомендуемые товары уехали Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Fix Breadcrumbs - исправление хлебных крошек Автор: AlexDW Дополнительные услуги Автор: DSV Обновление курса валют Приватбанк, Монобанк, НБУ для Opencart/Ocstore Автор: bogdan281989 Deluxe - адаптивный, универсальный шаблон Автор: aridius Кнопка view в списках (товар, категория, производитель, ситья) Автор: chukcha × Уже зарегистрированы? Войти Регистрация Разгдел покупок Назад Приобретенные дополнения Ваши счеи Список желаний Альтернативные коникты Форум ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Докумениция История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение Хостинг для OpenCart × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности. Я принимаю
takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Вы серозной ? не понимаю. Я изменений в код не вносил Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться...
ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 не понимаю. Я изменений в код не вносил Вам по картинке никто не поможет, бросайте сайт, по другому можно только догадываться что не ик Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Извините!Вот згдесь можно посмотреть http://i4ai.ru/puer/dvortsoviy-puer/ Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Извините! Вот згдесь можно посмотреть http://i4ai.ru/puer/dvortsoviy-puer/ у Вас им разметка по бутстрапу не правильная, пересмотрите её product.tpl Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 у Вас им разметка по бутстрапу не правильная, пересмотрите её product.tpl Я слазил туда изначально, но сам в этом слили понимаю, если это не очень сложно, подскажите пожалуйси: Вот кусок кода: <?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 src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive" /></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> Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Ксити,забыл спросить, а выводите модуль вы то правую колонку ? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Наверное, я очень туп))Никуда не вывожу, просто задал в настройках товара - рекомендуемые к нему. Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Наверное, я очень туп)) Никуда не вывожу, просто задал в настройках товара - рекомендуемые к нему. ну тогда им все правильно выводиться, он и должен выводиться внизу Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Но ведь заголовок почему-то уплывает? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... igon Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 <h3><?php echo $text_related; ?></h3> <div class="row"> Попробуйте поменять эти строчки месими Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... igon Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Закрывающий </div> перед <h3><?php echo $text_related; ?></h3> сместился вниз, проверьте парность div`ов. Временно можно попропотому чтовать еещё и ик </div> <h3><?php echo $text_related; ?></h3> <div class="row"> Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Закрывающий </div> перед <h3><?php echo $text_related; ?></h3> сместился вниз, проверьте парность div`ов. Временно можно попропотому чтовать еещё и ик </div> <h3><?php echo $text_related; ?></h3> <div class="row"> не помогло( Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Но ведь заголовок почему-то уплывает? Заголовок плывет потому что у Вас не закрыт ггде-то </div> Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Забавно - сейчас вообещё удалил строчку <h3><?php echo $text_related; ?></h3> - заголовок не пропадает - wtf??? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... hoolygan Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Кеш. Большой камень раздора. Везгде кеш листить нужно. Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 ctrl+f5 жму, ничего не меняется Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Заголовок плывет потому что у Вас не закрыт ггде-то </div> можно как-то просто опрегделить, ггде? мож редактор какой-то есть с подсказками? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 (изменено) из папки system/storage/ выпилил product.tpl, сило все ок Изменено 16 мари 2016 пользователем takecare1 Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 может пояснить пожалуйси кто-то, в каких случай OC берет за основу файлы из system/storage/? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... hoolygan Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Во всех случаях. т.е. если они есть - то с модификаций, если нет - то с оригинальных файлов. :-D Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 17 мари 2016 Автор Погделиться Опубликовано: 17 мари 2016 (изменено) Обнаружил еещё икую хрень - если добавить товару #1 в список сопутствующих товар #2, а потом товару #2 присвоить какой-липотому что товар, то у товара #1 пропадает из сопутствующих товар #2, а второму добавляется еещё и #1 в список сопутствующих.Кто-то силкивался или может знает в чем проблема? под спойлер запилил весь код из product.tpl: <?php echo $header; ?> <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 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 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; ?></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><span id="formated_price" price="<?php echo $price_value; ?>"><?php echo $price; ?></span></h2> </li> <?php } else { ?> <li><span style="text-decoration: line-through;"><span id="formated_price" price="<?php echo $price_value; ?>"><?php echo $price; ?></span></span></li> <li> <h2><span id="formated_special" price="<?php echo $special_value; ?>"><?php echo $special; /**/ ?></span></h2> </li> <?php } ?> <?php if ($tax) { ?> <li><?php echo $text_tax; ?> <span id="formated_tax" price="<?php echo $tax_value; ?>"><?php echo $tax; ?></span></li> <?php } ?> <?php if ($points) { ?> <li><?php echo $text_points; ?> <span id="formated_points" points="<?php echo $points; /**/ ?>"><?php echo $points; /**/ ?></span></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"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <option value="<?php echo $option_value['product_option_value_id']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>"><?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php echo $option_value['name']; ?> </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 type="text/javascript" src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js" charset="utf-8"></script> <script type="text/javascript" src="//yastatic.net/share2/share.js" charset="utf-8"></script> <div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir,gplus,twitter,lj"></div><br /> <?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 src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive" /></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('<i class="fa fa-shopping-cart"></i> ' + json['total']); $('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'); }); $('#review').load('index.php?route=product/product/review&product_id=<?php echo $product_id; ?>'); $('#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> <script type="text/javascript"><!-- function price_format(n) { c = <?php echo (empty($currency['decimals']) ? "0" : $currency['decimals'] ); ?>; d = '<?php echo $currency['decimal_point']; ?>'; // decimal separator t = '<?php echo $currency['thousand_point']; ?>'; // thousands separator s_left = '<?php echo $currency['symbol_left']; ?>'; s_right = '<?php echo $currency['symbol_right']; ?>'; n = n * <?php echo $currency['value']; ?>; //sign = (n < 0) ? '-' : ''; //extracting the absolute value of the integer part of the number and converting to string i = parseInt(n = Math.abs(n).toFixed(c)) + ''; j = ((j = i.length) > 3) ? j % 3 : 0; return s_left + (j ? i.substr(0, j) + t : '') + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : '') + s_right; } function calculate_tax(price) { <?php // Process Tax Rates if (isset($tax_rates) && $tax) { foreach ($tax_rates as $tax_rate) { if ($tax_rate['type'] == 'F') { echo 'price += '.$tax_rate['rate'].';'; } elseif ($tax_rate['type'] == 'P') { echo 'price += (price * '.$tax_rate['rate'].') / 100.0;'; } } } ?> return price; } function process_discounts(price, quantity) { <?php foreach ($dicounts_unf as $discount) { echo 'if ((quantity >= '.$discount['quantity'].') && ('.$discount['price'].' < price)) price = '.$discount['price'].';'."\n"; } ?> return price; } animate_delay = 20; main_price_final = calculate_tax(Number($('#formated_price').attr('price'))); main_price_start = calculate_tax(Number($('#formated_price').attr('price'))); main_step = 0; main_timeout_id = 0; function animateMainPrice_callback() { main_price_start += main_step; if ((main_step > 0) && (main_price_start > main_price_final)){ main_price_start = main_price_final; } else if ((main_step < 0) && (main_price_start < main_price_final)) { main_price_start = main_price_final; } else if (main_step == 0) { main_price_start = main_price_final; } $('#formated_price').html( price_format(main_price_start) ); if (main_price_start != main_price_final) { main_timeout_id = setTimeout(animateMainPrice_callback, animate_delay); } } function animateMainPrice(price) { main_price_start = main_price_final; main_price_final = price; main_step = (main_price_final - main_price_start) / 10; clearTimeout(main_timeout_id); main_timeout_id = setTimeout(animateMainPrice_callback, animate_delay); } <?php if ($special) { ?> special_price_final = calculate_tax(Number($('#formated_special').attr('price'))); special_price_start = calculate_tax(Number($('#formated_special').attr('price'))); special_step = 0; special_timeout_id = 0; function animateSpecialPrice_callback() { special_price_start += special_step; if ((special_step > 0) && (special_price_start > special_price_final)){ special_price_start = special_price_final; } else if ((special_step < 0) && (special_price_start < special_price_final)) { special_price_start = special_price_final; } else if (special_step == 0) { special_price_start = special_price_final; } $('#formated_special').html( price_format(special_price_start) ); if (special_price_start != special_price_final) { special_timeout_id = setTimeout(animateSpecialPrice_callback, animate_delay); } } function animateSpecialPrice(price) { special_price_start = special_price_final; special_price_final = price; special_step = (special_price_final - special_price_start) / 10; clearTimeout(special_timeout_id); special_timeout_id = setTimeout(animateSpecialPrice_callback, animate_delay); } <?php } ?> function recalculateprice() { var main_price = Number($('#formated_price').attr('price')); var input_quantity = Number($('input[name="quantity"]').val()); var special = Number($('#formated_special').attr('price')); var tax = 0; if (isNaN(input_quantity)) input_quantity = 0; // Process Discounts. <?php if ($special) { ?> special = process_discounts(special, input_quantity); <?php } else { ?> main_price = process_discounts(main_price, input_quantity); <?php } ?> tax = process_discounts(tax, input_quantity); <?php if ($points) { ?> var points = Number($('#formated_points').attr('points')); $('input:checked,option:selected').each(function() { if ($(this).attr('points')) points += Number($(this).attr('points')); }); $('#formated_points').html(Number(points)); <?php } ?> var option_price = 0; $('input:checked,option:selected').each(function() { if ($(this).attr('price_prefix') == '=') { option_price += Number($(this).attr('price')); main_price = 0; special = 0; } }); $('input:checked,option:selected').each(function() { if ($(this).attr('price_prefix') == '+') { option_price += Number($(this).attr('price')); } if ($(this).attr('price_prefix') == '-') { option_price -= Number($(this).attr('price')); } if ($(this).attr('price_prefix') == 'u') { pcnt = 1.0 + (Number($(this).attr('price')) / 100.0); option_price *= pcnt; main_price *= pcnt; special *= pcnt; } if ($(this).attr('price_prefix') == '*') { option_price *= Number($(this).attr('price')); main_price *= Number($(this).attr('price')); special *= Number($(this).attr('price')); } }); special += option_price; main_price += option_price; <?php if ($special) { ?> tax = special; <?php } else { ?> tax = main_price; <?php } ?> // Process TAX. main_price = calculate_tax(main_price); special = calculate_tax(special); // Раскомментировать, если нужен вывод этоны с умножением на когдачество //main_price *= input_quantity; //special *= input_quantity; //tax *= input_quantity; // Display Main Price //$('#formated_price').html( price_format(main_price) ); animateMainPrice(main_price); <?php if ($special) { ?> //$('#formated_special').html( price_format(special) ); animateSpecialPrice(special); <?php } ?> <?php if ($tax) { ?> $('#formated_tax').html( price_format(tax) ); <?php } ?> } $(document).ready(function() { $('input[type="checkbox"]').bind('change', function() { recalculateprice(); }); $('input[type="radio"]').bind('change', function() { recalculateprice(); }); $('select').bind('change', function() { recalculateprice(); }); $quantity = $('input[name="quantity"]'); $quantity.data('val', $quantity.val()); (function() { if ($quantity.val() != $quantity.data('val')){ $quantity.data('val',$quantity.val()); recalculateprice(); } setTimeout(arguments.callee, 250); })(); recalculateprice(); }); //--></script> <?php echo $footer; ?> Изменено 17 мари 2016 пользователем takecare1 Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы осивить комменирий Создать аккаунт Зарегистрируйтесь для получения аккауни. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите згдесь. Войти сейчас Погделиться Больше спосопотому чтов погделиться... Подпислики 0 Перейти к списку тем Похожие публикации рекомендуемые товары Featured Plus - улучшенный модуль рекомендуемых товаров Автор: AlexDW, 14 июня 2017 вывод рекомендуемых товаров случайный порядок (и ещё 5) Теги: вывод рекомендуемых товаров случайный порядок случайном порядке random featured заголовок рекомендуемых товаров разные заголовки блок товаров 0 комменириев 18 344 просмотра AlexDW 14 июня 2017 Авто-подпотому чтор рекомендуемых товаров Автор: kJlukOo, 31 июля 2016 рекомендуемые авто рекомендуемые (и ещё 1) Теги: рекомендуемые авто рекомендуемые подпотому чтор рекомендуемых 1 комменирий 15 603 просмотра kJlukOo 10 мая 2017 связи товаров [Подгдержка] RelatedLinks - одно- и двусторонняя перелинковка рекомендуемых товаров 1 2 3 4 6 Автор: AlexDW, 12 апреля 2015 перелинковка рекомендуемые товары (и ещё 7) Теги: перелинковка рекомендуемые товары двухсторонняя связь односторонняя связь привязка товаров связать товары сопутствующие товары related products похожие товары 132 отвеи 11 703 просмотра AlexDW 22 июня связи товаров RelatedLinks - одно- и двусторонняя перелинковка рекомендуемых товаров Автор: AlexDW, 11 апреля 2015 перелинковка рекомендуемые товары (и ещё 7) Теги: перелинковка рекомендуемые товары двухсторонняя связь односторонняя связь привязка товаров связать товары сопутствующие товары related products похожие товары 0 комменириев 13 827 просмотров AlexDW 11 апреля 2015 мы рекомендуем Рекомендуемые товары Автор: OCdevWizard, 12 апреля 2018 ocdevwizard upsell (и ещё 24) Теги: ocdevwizard upsell маркетинг рекомендации конверсия с этим товаром покупают аксессуары рекомендуемые доп товары рекомендуемые товары похожие товары seo seo страницы посадочные страницы seo page extra featured featured товары из категории хиты продаж новинки новинки из категории хиты из категории вместе покупают хиты cross sell сопутстввующие товары 0 комменириев 8 753 просмотра OCdevWizard 12 апреля 2018 Сейчас на страниэто 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Песочница Рекомендуемые товары уехали Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Fix Breadcrumbs - исправление хлебных крошек Автор: AlexDW Дополнительные услуги Автор: DSV Обновление курса валют Приватбанк, Монобанк, НБУ для Opencart/Ocstore Автор: bogdan281989 Deluxe - адаптивный, универсальный шаблон Автор: aridius Кнопка view в списках (товар, категория, производитель, ситья) Автор: chukcha × Уже зарегистрированы? Войти Регистрация Разгдел покупок Назад Приобретенные дополнения Ваши счеи Список желаний Альтернативные коникты Форум ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Докумениция История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение Хостинг для OpenCart × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности. Я принимаю
takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Извините!Вот згдесь можно посмотреть http://i4ai.ru/puer/dvortsoviy-puer/ Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться...
ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Извините! Вот згдесь можно посмотреть http://i4ai.ru/puer/dvortsoviy-puer/ у Вас им разметка по бутстрапу не правильная, пересмотрите её product.tpl Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 у Вас им разметка по бутстрапу не правильная, пересмотрите её product.tpl Я слазил туда изначально, но сам в этом слили понимаю, если это не очень сложно, подскажите пожалуйси: Вот кусок кода: <?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 src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive" /></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> Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Ксити,забыл спросить, а выводите модуль вы то правую колонку ? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Наверное, я очень туп))Никуда не вывожу, просто задал в настройках товара - рекомендуемые к нему. Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Наверное, я очень туп)) Никуда не вывожу, просто задал в настройках товара - рекомендуемые к нему. ну тогда им все правильно выводиться, он и должен выводиться внизу Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Но ведь заголовок почему-то уплывает? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... igon Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 <h3><?php echo $text_related; ?></h3> <div class="row"> Попробуйте поменять эти строчки месими Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... igon Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Закрывающий </div> перед <h3><?php echo $text_related; ?></h3> сместился вниз, проверьте парность div`ов. Временно можно попропотому чтовать еещё и ик </div> <h3><?php echo $text_related; ?></h3> <div class="row"> Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Закрывающий </div> перед <h3><?php echo $text_related; ?></h3> сместился вниз, проверьте парность div`ов. Временно можно попропотому чтовать еещё и ик </div> <h3><?php echo $text_related; ?></h3> <div class="row"> не помогло( Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Но ведь заголовок почему-то уплывает? Заголовок плывет потому что у Вас не закрыт ггде-то </div> Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Забавно - сейчас вообещё удалил строчку <h3><?php echo $text_related; ?></h3> - заголовок не пропадает - wtf??? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... hoolygan Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Кеш. Большой камень раздора. Везгде кеш листить нужно. Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 ctrl+f5 жму, ничего не меняется Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Заголовок плывет потому что у Вас не закрыт ггде-то </div> можно как-то просто опрегделить, ггде? мож редактор какой-то есть с подсказками? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 (изменено) из папки system/storage/ выпилил product.tpl, сило все ок Изменено 16 мари 2016 пользователем takecare1 Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 может пояснить пожалуйси кто-то, в каких случай OC берет за основу файлы из system/storage/? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... hoolygan Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Во всех случаях. т.е. если они есть - то с модификаций, если нет - то с оригинальных файлов. :-D Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 17 мари 2016 Автор Погделиться Опубликовано: 17 мари 2016 (изменено) Обнаружил еещё икую хрень - если добавить товару #1 в список сопутствующих товар #2, а потом товару #2 присвоить какой-липотому что товар, то у товара #1 пропадает из сопутствующих товар #2, а второму добавляется еещё и #1 в список сопутствующих.Кто-то силкивался или может знает в чем проблема? под спойлер запилил весь код из product.tpl: <?php echo $header; ?> <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 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 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; ?></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><span id="formated_price" price="<?php echo $price_value; ?>"><?php echo $price; ?></span></h2> </li> <?php } else { ?> <li><span style="text-decoration: line-through;"><span id="formated_price" price="<?php echo $price_value; ?>"><?php echo $price; ?></span></span></li> <li> <h2><span id="formated_special" price="<?php echo $special_value; ?>"><?php echo $special; /**/ ?></span></h2> </li> <?php } ?> <?php if ($tax) { ?> <li><?php echo $text_tax; ?> <span id="formated_tax" price="<?php echo $tax_value; ?>"><?php echo $tax; ?></span></li> <?php } ?> <?php if ($points) { ?> <li><?php echo $text_points; ?> <span id="formated_points" points="<?php echo $points; /**/ ?>"><?php echo $points; /**/ ?></span></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"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <option value="<?php echo $option_value['product_option_value_id']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>"><?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php echo $option_value['name']; ?> </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 type="text/javascript" src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js" charset="utf-8"></script> <script type="text/javascript" src="//yastatic.net/share2/share.js" charset="utf-8"></script> <div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir,gplus,twitter,lj"></div><br /> <?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 src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive" /></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('<i class="fa fa-shopping-cart"></i> ' + json['total']); $('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'); }); $('#review').load('index.php?route=product/product/review&product_id=<?php echo $product_id; ?>'); $('#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> <script type="text/javascript"><!-- function price_format(n) { c = <?php echo (empty($currency['decimals']) ? "0" : $currency['decimals'] ); ?>; d = '<?php echo $currency['decimal_point']; ?>'; // decimal separator t = '<?php echo $currency['thousand_point']; ?>'; // thousands separator s_left = '<?php echo $currency['symbol_left']; ?>'; s_right = '<?php echo $currency['symbol_right']; ?>'; n = n * <?php echo $currency['value']; ?>; //sign = (n < 0) ? '-' : ''; //extracting the absolute value of the integer part of the number and converting to string i = parseInt(n = Math.abs(n).toFixed(c)) + ''; j = ((j = i.length) > 3) ? j % 3 : 0; return s_left + (j ? i.substr(0, j) + t : '') + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : '') + s_right; } function calculate_tax(price) { <?php // Process Tax Rates if (isset($tax_rates) && $tax) { foreach ($tax_rates as $tax_rate) { if ($tax_rate['type'] == 'F') { echo 'price += '.$tax_rate['rate'].';'; } elseif ($tax_rate['type'] == 'P') { echo 'price += (price * '.$tax_rate['rate'].') / 100.0;'; } } } ?> return price; } function process_discounts(price, quantity) { <?php foreach ($dicounts_unf as $discount) { echo 'if ((quantity >= '.$discount['quantity'].') && ('.$discount['price'].' < price)) price = '.$discount['price'].';'."\n"; } ?> return price; } animate_delay = 20; main_price_final = calculate_tax(Number($('#formated_price').attr('price'))); main_price_start = calculate_tax(Number($('#formated_price').attr('price'))); main_step = 0; main_timeout_id = 0; function animateMainPrice_callback() { main_price_start += main_step; if ((main_step > 0) && (main_price_start > main_price_final)){ main_price_start = main_price_final; } else if ((main_step < 0) && (main_price_start < main_price_final)) { main_price_start = main_price_final; } else if (main_step == 0) { main_price_start = main_price_final; } $('#formated_price').html( price_format(main_price_start) ); if (main_price_start != main_price_final) { main_timeout_id = setTimeout(animateMainPrice_callback, animate_delay); } } function animateMainPrice(price) { main_price_start = main_price_final; main_price_final = price; main_step = (main_price_final - main_price_start) / 10; clearTimeout(main_timeout_id); main_timeout_id = setTimeout(animateMainPrice_callback, animate_delay); } <?php if ($special) { ?> special_price_final = calculate_tax(Number($('#formated_special').attr('price'))); special_price_start = calculate_tax(Number($('#formated_special').attr('price'))); special_step = 0; special_timeout_id = 0; function animateSpecialPrice_callback() { special_price_start += special_step; if ((special_step > 0) && (special_price_start > special_price_final)){ special_price_start = special_price_final; } else if ((special_step < 0) && (special_price_start < special_price_final)) { special_price_start = special_price_final; } else if (special_step == 0) { special_price_start = special_price_final; } $('#formated_special').html( price_format(special_price_start) ); if (special_price_start != special_price_final) { special_timeout_id = setTimeout(animateSpecialPrice_callback, animate_delay); } } function animateSpecialPrice(price) { special_price_start = special_price_final; special_price_final = price; special_step = (special_price_final - special_price_start) / 10; clearTimeout(special_timeout_id); special_timeout_id = setTimeout(animateSpecialPrice_callback, animate_delay); } <?php } ?> function recalculateprice() { var main_price = Number($('#formated_price').attr('price')); var input_quantity = Number($('input[name="quantity"]').val()); var special = Number($('#formated_special').attr('price')); var tax = 0; if (isNaN(input_quantity)) input_quantity = 0; // Process Discounts. <?php if ($special) { ?> special = process_discounts(special, input_quantity); <?php } else { ?> main_price = process_discounts(main_price, input_quantity); <?php } ?> tax = process_discounts(tax, input_quantity); <?php if ($points) { ?> var points = Number($('#formated_points').attr('points')); $('input:checked,option:selected').each(function() { if ($(this).attr('points')) points += Number($(this).attr('points')); }); $('#formated_points').html(Number(points)); <?php } ?> var option_price = 0; $('input:checked,option:selected').each(function() { if ($(this).attr('price_prefix') == '=') { option_price += Number($(this).attr('price')); main_price = 0; special = 0; } }); $('input:checked,option:selected').each(function() { if ($(this).attr('price_prefix') == '+') { option_price += Number($(this).attr('price')); } if ($(this).attr('price_prefix') == '-') { option_price -= Number($(this).attr('price')); } if ($(this).attr('price_prefix') == 'u') { pcnt = 1.0 + (Number($(this).attr('price')) / 100.0); option_price *= pcnt; main_price *= pcnt; special *= pcnt; } if ($(this).attr('price_prefix') == '*') { option_price *= Number($(this).attr('price')); main_price *= Number($(this).attr('price')); special *= Number($(this).attr('price')); } }); special += option_price; main_price += option_price; <?php if ($special) { ?> tax = special; <?php } else { ?> tax = main_price; <?php } ?> // Process TAX. main_price = calculate_tax(main_price); special = calculate_tax(special); // Раскомментировать, если нужен вывод этоны с умножением на когдачество //main_price *= input_quantity; //special *= input_quantity; //tax *= input_quantity; // Display Main Price //$('#formated_price').html( price_format(main_price) ); animateMainPrice(main_price); <?php if ($special) { ?> //$('#formated_special').html( price_format(special) ); animateSpecialPrice(special); <?php } ?> <?php if ($tax) { ?> $('#formated_tax').html( price_format(tax) ); <?php } ?> } $(document).ready(function() { $('input[type="checkbox"]').bind('change', function() { recalculateprice(); }); $('input[type="radio"]').bind('change', function() { recalculateprice(); }); $('select').bind('change', function() { recalculateprice(); }); $quantity = $('input[name="quantity"]'); $quantity.data('val', $quantity.val()); (function() { if ($quantity.val() != $quantity.data('val')){ $quantity.data('val',$quantity.val()); recalculateprice(); } setTimeout(arguments.callee, 250); })(); recalculateprice(); }); //--></script> <?php echo $footer; ?> Изменено 17 мари 2016 пользователем takecare1 Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы осивить комменирий Создать аккаунт Зарегистрируйтесь для получения аккауни. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите згдесь. Войти сейчас Погделиться Больше спосопотому чтов погделиться... Подпислики 0 Перейти к списку тем Похожие публикации рекомендуемые товары Featured Plus - улучшенный модуль рекомендуемых товаров Автор: AlexDW, 14 июня 2017 вывод рекомендуемых товаров случайный порядок (и ещё 5) Теги: вывод рекомендуемых товаров случайный порядок случайном порядке random featured заголовок рекомендуемых товаров разные заголовки блок товаров 0 комменириев 18 344 просмотра AlexDW 14 июня 2017 Авто-подпотому чтор рекомендуемых товаров Автор: kJlukOo, 31 июля 2016 рекомендуемые авто рекомендуемые (и ещё 1) Теги: рекомендуемые авто рекомендуемые подпотому чтор рекомендуемых 1 комменирий 15 603 просмотра kJlukOo 10 мая 2017 связи товаров [Подгдержка] RelatedLinks - одно- и двусторонняя перелинковка рекомендуемых товаров 1 2 3 4 6 Автор: AlexDW, 12 апреля 2015 перелинковка рекомендуемые товары (и ещё 7) Теги: перелинковка рекомендуемые товары двухсторонняя связь односторонняя связь привязка товаров связать товары сопутствующие товары related products похожие товары 132 отвеи 11 703 просмотра AlexDW 22 июня связи товаров RelatedLinks - одно- и двусторонняя перелинковка рекомендуемых товаров Автор: AlexDW, 11 апреля 2015 перелинковка рекомендуемые товары (и ещё 7) Теги: перелинковка рекомендуемые товары двухсторонняя связь односторонняя связь привязка товаров связать товары сопутствующие товары related products похожие товары 0 комменириев 13 827 просмотров AlexDW 11 апреля 2015 мы рекомендуем Рекомендуемые товары Автор: OCdevWizard, 12 апреля 2018 ocdevwizard upsell (и ещё 24) Теги: ocdevwizard upsell маркетинг рекомендации конверсия с этим товаром покупают аксессуары рекомендуемые доп товары рекомендуемые товары похожие товары seo seo страницы посадочные страницы seo page extra featured featured товары из категории хиты продаж новинки новинки из категории хиты из категории вместе покупают хиты cross sell сопутстввующие товары 0 комменириев 8 753 просмотра OCdevWizard 12 апреля 2018 Сейчас на страниэто 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Песочница Рекомендуемые товары уехали Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Fix Breadcrumbs - исправление хлебных крошек Автор: AlexDW Дополнительные услуги Автор: DSV Обновление курса валют Приватбанк, Монобанк, НБУ для Opencart/Ocstore Автор: bogdan281989 Deluxe - адаптивный, универсальный шаблон Автор: aridius Кнопка view в списках (товар, категория, производитель, ситья) Автор: chukcha
takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 у Вас им разметка по бутстрапу не правильная, пересмотрите её product.tpl Я слазил туда изначально, но сам в этом слили понимаю, если это не очень сложно, подскажите пожалуйси: Вот кусок кода: <?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 src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive" /></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> Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться...
ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Ксити,забыл спросить, а выводите модуль вы то правую колонку ? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Наверное, я очень туп))Никуда не вывожу, просто задал в настройках товара - рекомендуемые к нему. Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Наверное, я очень туп)) Никуда не вывожу, просто задал в настройках товара - рекомендуемые к нему. ну тогда им все правильно выводиться, он и должен выводиться внизу Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Но ведь заголовок почему-то уплывает? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... igon Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 <h3><?php echo $text_related; ?></h3> <div class="row"> Попробуйте поменять эти строчки месими Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... igon Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Закрывающий </div> перед <h3><?php echo $text_related; ?></h3> сместился вниз, проверьте парность div`ов. Временно можно попропотому чтовать еещё и ик </div> <h3><?php echo $text_related; ?></h3> <div class="row"> Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Закрывающий </div> перед <h3><?php echo $text_related; ?></h3> сместился вниз, проверьте парность div`ов. Временно можно попропотому чтовать еещё и ик </div> <h3><?php echo $text_related; ?></h3> <div class="row"> не помогло( Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Но ведь заголовок почему-то уплывает? Заголовок плывет потому что у Вас не закрыт ггде-то </div> Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Забавно - сейчас вообещё удалил строчку <h3><?php echo $text_related; ?></h3> - заголовок не пропадает - wtf??? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... hoolygan Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Кеш. Большой камень раздора. Везгде кеш листить нужно. Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 ctrl+f5 жму, ничего не меняется Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Заголовок плывет потому что у Вас не закрыт ггде-то </div> можно как-то просто опрегделить, ггде? мож редактор какой-то есть с подсказками? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 (изменено) из папки system/storage/ выпилил product.tpl, сило все ок Изменено 16 мари 2016 пользователем takecare1 Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 может пояснить пожалуйси кто-то, в каких случай OC берет за основу файлы из system/storage/? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... hoolygan Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Во всех случаях. т.е. если они есть - то с модификаций, если нет - то с оригинальных файлов. :-D Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 17 мари 2016 Автор Погделиться Опубликовано: 17 мари 2016 (изменено) Обнаружил еещё икую хрень - если добавить товару #1 в список сопутствующих товар #2, а потом товару #2 присвоить какой-липотому что товар, то у товара #1 пропадает из сопутствующих товар #2, а второму добавляется еещё и #1 в список сопутствующих.Кто-то силкивался или может знает в чем проблема? под спойлер запилил весь код из product.tpl: <?php echo $header; ?> <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 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 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; ?></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><span id="formated_price" price="<?php echo $price_value; ?>"><?php echo $price; ?></span></h2> </li> <?php } else { ?> <li><span style="text-decoration: line-through;"><span id="formated_price" price="<?php echo $price_value; ?>"><?php echo $price; ?></span></span></li> <li> <h2><span id="formated_special" price="<?php echo $special_value; ?>"><?php echo $special; /**/ ?></span></h2> </li> <?php } ?> <?php if ($tax) { ?> <li><?php echo $text_tax; ?> <span id="formated_tax" price="<?php echo $tax_value; ?>"><?php echo $tax; ?></span></li> <?php } ?> <?php if ($points) { ?> <li><?php echo $text_points; ?> <span id="formated_points" points="<?php echo $points; /**/ ?>"><?php echo $points; /**/ ?></span></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"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <option value="<?php echo $option_value['product_option_value_id']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>"><?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php echo $option_value['name']; ?> </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 type="text/javascript" src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js" charset="utf-8"></script> <script type="text/javascript" src="//yastatic.net/share2/share.js" charset="utf-8"></script> <div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir,gplus,twitter,lj"></div><br /> <?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 src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive" /></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('<i class="fa fa-shopping-cart"></i> ' + json['total']); $('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'); }); $('#review').load('index.php?route=product/product/review&product_id=<?php echo $product_id; ?>'); $('#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> <script type="text/javascript"><!-- function price_format(n) { c = <?php echo (empty($currency['decimals']) ? "0" : $currency['decimals'] ); ?>; d = '<?php echo $currency['decimal_point']; ?>'; // decimal separator t = '<?php echo $currency['thousand_point']; ?>'; // thousands separator s_left = '<?php echo $currency['symbol_left']; ?>'; s_right = '<?php echo $currency['symbol_right']; ?>'; n = n * <?php echo $currency['value']; ?>; //sign = (n < 0) ? '-' : ''; //extracting the absolute value of the integer part of the number and converting to string i = parseInt(n = Math.abs(n).toFixed(c)) + ''; j = ((j = i.length) > 3) ? j % 3 : 0; return s_left + (j ? i.substr(0, j) + t : '') + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : '') + s_right; } function calculate_tax(price) { <?php // Process Tax Rates if (isset($tax_rates) && $tax) { foreach ($tax_rates as $tax_rate) { if ($tax_rate['type'] == 'F') { echo 'price += '.$tax_rate['rate'].';'; } elseif ($tax_rate['type'] == 'P') { echo 'price += (price * '.$tax_rate['rate'].') / 100.0;'; } } } ?> return price; } function process_discounts(price, quantity) { <?php foreach ($dicounts_unf as $discount) { echo 'if ((quantity >= '.$discount['quantity'].') && ('.$discount['price'].' < price)) price = '.$discount['price'].';'."\n"; } ?> return price; } animate_delay = 20; main_price_final = calculate_tax(Number($('#formated_price').attr('price'))); main_price_start = calculate_tax(Number($('#formated_price').attr('price'))); main_step = 0; main_timeout_id = 0; function animateMainPrice_callback() { main_price_start += main_step; if ((main_step > 0) && (main_price_start > main_price_final)){ main_price_start = main_price_final; } else if ((main_step < 0) && (main_price_start < main_price_final)) { main_price_start = main_price_final; } else if (main_step == 0) { main_price_start = main_price_final; } $('#formated_price').html( price_format(main_price_start) ); if (main_price_start != main_price_final) { main_timeout_id = setTimeout(animateMainPrice_callback, animate_delay); } } function animateMainPrice(price) { main_price_start = main_price_final; main_price_final = price; main_step = (main_price_final - main_price_start) / 10; clearTimeout(main_timeout_id); main_timeout_id = setTimeout(animateMainPrice_callback, animate_delay); } <?php if ($special) { ?> special_price_final = calculate_tax(Number($('#formated_special').attr('price'))); special_price_start = calculate_tax(Number($('#formated_special').attr('price'))); special_step = 0; special_timeout_id = 0; function animateSpecialPrice_callback() { special_price_start += special_step; if ((special_step > 0) && (special_price_start > special_price_final)){ special_price_start = special_price_final; } else if ((special_step < 0) && (special_price_start < special_price_final)) { special_price_start = special_price_final; } else if (special_step == 0) { special_price_start = special_price_final; } $('#formated_special').html( price_format(special_price_start) ); if (special_price_start != special_price_final) { special_timeout_id = setTimeout(animateSpecialPrice_callback, animate_delay); } } function animateSpecialPrice(price) { special_price_start = special_price_final; special_price_final = price; special_step = (special_price_final - special_price_start) / 10; clearTimeout(special_timeout_id); special_timeout_id = setTimeout(animateSpecialPrice_callback, animate_delay); } <?php } ?> function recalculateprice() { var main_price = Number($('#formated_price').attr('price')); var input_quantity = Number($('input[name="quantity"]').val()); var special = Number($('#formated_special').attr('price')); var tax = 0; if (isNaN(input_quantity)) input_quantity = 0; // Process Discounts. <?php if ($special) { ?> special = process_discounts(special, input_quantity); <?php } else { ?> main_price = process_discounts(main_price, input_quantity); <?php } ?> tax = process_discounts(tax, input_quantity); <?php if ($points) { ?> var points = Number($('#formated_points').attr('points')); $('input:checked,option:selected').each(function() { if ($(this).attr('points')) points += Number($(this).attr('points')); }); $('#formated_points').html(Number(points)); <?php } ?> var option_price = 0; $('input:checked,option:selected').each(function() { if ($(this).attr('price_prefix') == '=') { option_price += Number($(this).attr('price')); main_price = 0; special = 0; } }); $('input:checked,option:selected').each(function() { if ($(this).attr('price_prefix') == '+') { option_price += Number($(this).attr('price')); } if ($(this).attr('price_prefix') == '-') { option_price -= Number($(this).attr('price')); } if ($(this).attr('price_prefix') == 'u') { pcnt = 1.0 + (Number($(this).attr('price')) / 100.0); option_price *= pcnt; main_price *= pcnt; special *= pcnt; } if ($(this).attr('price_prefix') == '*') { option_price *= Number($(this).attr('price')); main_price *= Number($(this).attr('price')); special *= Number($(this).attr('price')); } }); special += option_price; main_price += option_price; <?php if ($special) { ?> tax = special; <?php } else { ?> tax = main_price; <?php } ?> // Process TAX. main_price = calculate_tax(main_price); special = calculate_tax(special); // Раскомментировать, если нужен вывод этоны с умножением на когдачество //main_price *= input_quantity; //special *= input_quantity; //tax *= input_quantity; // Display Main Price //$('#formated_price').html( price_format(main_price) ); animateMainPrice(main_price); <?php if ($special) { ?> //$('#formated_special').html( price_format(special) ); animateSpecialPrice(special); <?php } ?> <?php if ($tax) { ?> $('#formated_tax').html( price_format(tax) ); <?php } ?> } $(document).ready(function() { $('input[type="checkbox"]').bind('change', function() { recalculateprice(); }); $('input[type="radio"]').bind('change', function() { recalculateprice(); }); $('select').bind('change', function() { recalculateprice(); }); $quantity = $('input[name="quantity"]'); $quantity.data('val', $quantity.val()); (function() { if ($quantity.val() != $quantity.data('val')){ $quantity.data('val',$quantity.val()); recalculateprice(); } setTimeout(arguments.callee, 250); })(); recalculateprice(); }); //--></script> <?php echo $footer; ?> Изменено 17 мари 2016 пользователем takecare1 Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы осивить комменирий Создать аккаунт Зарегистрируйтесь для получения аккауни. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите згдесь. Войти сейчас Погделиться Больше спосопотому чтов погделиться... Подпислики 0 Перейти к списку тем Похожие публикации рекомендуемые товары Featured Plus - улучшенный модуль рекомендуемых товаров Автор: AlexDW, 14 июня 2017 вывод рекомендуемых товаров случайный порядок (и ещё 5) Теги: вывод рекомендуемых товаров случайный порядок случайном порядке random featured заголовок рекомендуемых товаров разные заголовки блок товаров 0 комменириев 18 344 просмотра AlexDW 14 июня 2017 Авто-подпотому чтор рекомендуемых товаров Автор: kJlukOo, 31 июля 2016 рекомендуемые авто рекомендуемые (и ещё 1) Теги: рекомендуемые авто рекомендуемые подпотому чтор рекомендуемых 1 комменирий 15 603 просмотра kJlukOo 10 мая 2017 связи товаров [Подгдержка] RelatedLinks - одно- и двусторонняя перелинковка рекомендуемых товаров 1 2 3 4 6 Автор: AlexDW, 12 апреля 2015 перелинковка рекомендуемые товары (и ещё 7) Теги: перелинковка рекомендуемые товары двухсторонняя связь односторонняя связь привязка товаров связать товары сопутствующие товары related products похожие товары 132 отвеи 11 703 просмотра AlexDW 22 июня связи товаров RelatedLinks - одно- и двусторонняя перелинковка рекомендуемых товаров Автор: AlexDW, 11 апреля 2015 перелинковка рекомендуемые товары (и ещё 7) Теги: перелинковка рекомендуемые товары двухсторонняя связь односторонняя связь привязка товаров связать товары сопутствующие товары related products похожие товары 0 комменириев 13 827 просмотров AlexDW 11 апреля 2015 мы рекомендуем Рекомендуемые товары Автор: OCdevWizard, 12 апреля 2018 ocdevwizard upsell (и ещё 24) Теги: ocdevwizard upsell маркетинг рекомендации конверсия с этим товаром покупают аксессуары рекомендуемые доп товары рекомендуемые товары похожие товары seo seo страницы посадочные страницы seo page extra featured featured товары из категории хиты продаж новинки новинки из категории хиты из категории вместе покупают хиты cross sell сопутстввующие товары 0 комменириев 8 753 просмотра OCdevWizard 12 апреля 2018 Сейчас на страниэто 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Песочница Рекомендуемые товары уехали
takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Наверное, я очень туп))Никуда не вывожу, просто задал в настройках товара - рекомендуемые к нему. Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться...
ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Наверное, я очень туп)) Никуда не вывожу, просто задал в настройках товара - рекомендуемые к нему. ну тогда им все правильно выводиться, он и должен выводиться внизу Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Но ведь заголовок почему-то уплывает? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... igon Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 <h3><?php echo $text_related; ?></h3> <div class="row"> Попробуйте поменять эти строчки месими Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... igon Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Закрывающий </div> перед <h3><?php echo $text_related; ?></h3> сместился вниз, проверьте парность div`ов. Временно можно попропотому чтовать еещё и ик </div> <h3><?php echo $text_related; ?></h3> <div class="row"> Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Закрывающий </div> перед <h3><?php echo $text_related; ?></h3> сместился вниз, проверьте парность div`ов. Временно можно попропотому чтовать еещё и ик </div> <h3><?php echo $text_related; ?></h3> <div class="row"> не помогло( Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Но ведь заголовок почему-то уплывает? Заголовок плывет потому что у Вас не закрыт ггде-то </div> Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Забавно - сейчас вообещё удалил строчку <h3><?php echo $text_related; ?></h3> - заголовок не пропадает - wtf??? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... hoolygan Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Кеш. Большой камень раздора. Везгде кеш листить нужно. Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 ctrl+f5 жму, ничего не меняется Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Заголовок плывет потому что у Вас не закрыт ггде-то </div> можно как-то просто опрегделить, ггде? мож редактор какой-то есть с подсказками? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 (изменено) из папки system/storage/ выпилил product.tpl, сило все ок Изменено 16 мари 2016 пользователем takecare1 Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 может пояснить пожалуйси кто-то, в каких случай OC берет за основу файлы из system/storage/? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... hoolygan Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Во всех случаях. т.е. если они есть - то с модификаций, если нет - то с оригинальных файлов. :-D Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 17 мари 2016 Автор Погделиться Опубликовано: 17 мари 2016 (изменено) Обнаружил еещё икую хрень - если добавить товару #1 в список сопутствующих товар #2, а потом товару #2 присвоить какой-липотому что товар, то у товара #1 пропадает из сопутствующих товар #2, а второму добавляется еещё и #1 в список сопутствующих.Кто-то силкивался или может знает в чем проблема? под спойлер запилил весь код из product.tpl: <?php echo $header; ?> <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 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 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; ?></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><span id="formated_price" price="<?php echo $price_value; ?>"><?php echo $price; ?></span></h2> </li> <?php } else { ?> <li><span style="text-decoration: line-through;"><span id="formated_price" price="<?php echo $price_value; ?>"><?php echo $price; ?></span></span></li> <li> <h2><span id="formated_special" price="<?php echo $special_value; ?>"><?php echo $special; /**/ ?></span></h2> </li> <?php } ?> <?php if ($tax) { ?> <li><?php echo $text_tax; ?> <span id="formated_tax" price="<?php echo $tax_value; ?>"><?php echo $tax; ?></span></li> <?php } ?> <?php if ($points) { ?> <li><?php echo $text_points; ?> <span id="formated_points" points="<?php echo $points; /**/ ?>"><?php echo $points; /**/ ?></span></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"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <option value="<?php echo $option_value['product_option_value_id']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>"><?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php echo $option_value['name']; ?> </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 type="text/javascript" src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js" charset="utf-8"></script> <script type="text/javascript" src="//yastatic.net/share2/share.js" charset="utf-8"></script> <div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir,gplus,twitter,lj"></div><br /> <?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 src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive" /></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('<i class="fa fa-shopping-cart"></i> ' + json['total']); $('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'); }); $('#review').load('index.php?route=product/product/review&product_id=<?php echo $product_id; ?>'); $('#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> <script type="text/javascript"><!-- function price_format(n) { c = <?php echo (empty($currency['decimals']) ? "0" : $currency['decimals'] ); ?>; d = '<?php echo $currency['decimal_point']; ?>'; // decimal separator t = '<?php echo $currency['thousand_point']; ?>'; // thousands separator s_left = '<?php echo $currency['symbol_left']; ?>'; s_right = '<?php echo $currency['symbol_right']; ?>'; n = n * <?php echo $currency['value']; ?>; //sign = (n < 0) ? '-' : ''; //extracting the absolute value of the integer part of the number and converting to string i = parseInt(n = Math.abs(n).toFixed(c)) + ''; j = ((j = i.length) > 3) ? j % 3 : 0; return s_left + (j ? i.substr(0, j) + t : '') + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : '') + s_right; } function calculate_tax(price) { <?php // Process Tax Rates if (isset($tax_rates) && $tax) { foreach ($tax_rates as $tax_rate) { if ($tax_rate['type'] == 'F') { echo 'price += '.$tax_rate['rate'].';'; } elseif ($tax_rate['type'] == 'P') { echo 'price += (price * '.$tax_rate['rate'].') / 100.0;'; } } } ?> return price; } function process_discounts(price, quantity) { <?php foreach ($dicounts_unf as $discount) { echo 'if ((quantity >= '.$discount['quantity'].') && ('.$discount['price'].' < price)) price = '.$discount['price'].';'."\n"; } ?> return price; } animate_delay = 20; main_price_final = calculate_tax(Number($('#formated_price').attr('price'))); main_price_start = calculate_tax(Number($('#formated_price').attr('price'))); main_step = 0; main_timeout_id = 0; function animateMainPrice_callback() { main_price_start += main_step; if ((main_step > 0) && (main_price_start > main_price_final)){ main_price_start = main_price_final; } else if ((main_step < 0) && (main_price_start < main_price_final)) { main_price_start = main_price_final; } else if (main_step == 0) { main_price_start = main_price_final; } $('#formated_price').html( price_format(main_price_start) ); if (main_price_start != main_price_final) { main_timeout_id = setTimeout(animateMainPrice_callback, animate_delay); } } function animateMainPrice(price) { main_price_start = main_price_final; main_price_final = price; main_step = (main_price_final - main_price_start) / 10; clearTimeout(main_timeout_id); main_timeout_id = setTimeout(animateMainPrice_callback, animate_delay); } <?php if ($special) { ?> special_price_final = calculate_tax(Number($('#formated_special').attr('price'))); special_price_start = calculate_tax(Number($('#formated_special').attr('price'))); special_step = 0; special_timeout_id = 0; function animateSpecialPrice_callback() { special_price_start += special_step; if ((special_step > 0) && (special_price_start > special_price_final)){ special_price_start = special_price_final; } else if ((special_step < 0) && (special_price_start < special_price_final)) { special_price_start = special_price_final; } else if (special_step == 0) { special_price_start = special_price_final; } $('#formated_special').html( price_format(special_price_start) ); if (special_price_start != special_price_final) { special_timeout_id = setTimeout(animateSpecialPrice_callback, animate_delay); } } function animateSpecialPrice(price) { special_price_start = special_price_final; special_price_final = price; special_step = (special_price_final - special_price_start) / 10; clearTimeout(special_timeout_id); special_timeout_id = setTimeout(animateSpecialPrice_callback, animate_delay); } <?php } ?> function recalculateprice() { var main_price = Number($('#formated_price').attr('price')); var input_quantity = Number($('input[name="quantity"]').val()); var special = Number($('#formated_special').attr('price')); var tax = 0; if (isNaN(input_quantity)) input_quantity = 0; // Process Discounts. <?php if ($special) { ?> special = process_discounts(special, input_quantity); <?php } else { ?> main_price = process_discounts(main_price, input_quantity); <?php } ?> tax = process_discounts(tax, input_quantity); <?php if ($points) { ?> var points = Number($('#formated_points').attr('points')); $('input:checked,option:selected').each(function() { if ($(this).attr('points')) points += Number($(this).attr('points')); }); $('#formated_points').html(Number(points)); <?php } ?> var option_price = 0; $('input:checked,option:selected').each(function() { if ($(this).attr('price_prefix') == '=') { option_price += Number($(this).attr('price')); main_price = 0; special = 0; } }); $('input:checked,option:selected').each(function() { if ($(this).attr('price_prefix') == '+') { option_price += Number($(this).attr('price')); } if ($(this).attr('price_prefix') == '-') { option_price -= Number($(this).attr('price')); } if ($(this).attr('price_prefix') == 'u') { pcnt = 1.0 + (Number($(this).attr('price')) / 100.0); option_price *= pcnt; main_price *= pcnt; special *= pcnt; } if ($(this).attr('price_prefix') == '*') { option_price *= Number($(this).attr('price')); main_price *= Number($(this).attr('price')); special *= Number($(this).attr('price')); } }); special += option_price; main_price += option_price; <?php if ($special) { ?> tax = special; <?php } else { ?> tax = main_price; <?php } ?> // Process TAX. main_price = calculate_tax(main_price); special = calculate_tax(special); // Раскомментировать, если нужен вывод этоны с умножением на когдачество //main_price *= input_quantity; //special *= input_quantity; //tax *= input_quantity; // Display Main Price //$('#formated_price').html( price_format(main_price) ); animateMainPrice(main_price); <?php if ($special) { ?> //$('#formated_special').html( price_format(special) ); animateSpecialPrice(special); <?php } ?> <?php if ($tax) { ?> $('#formated_tax').html( price_format(tax) ); <?php } ?> } $(document).ready(function() { $('input[type="checkbox"]').bind('change', function() { recalculateprice(); }); $('input[type="radio"]').bind('change', function() { recalculateprice(); }); $('select').bind('change', function() { recalculateprice(); }); $quantity = $('input[name="quantity"]'); $quantity.data('val', $quantity.val()); (function() { if ($quantity.val() != $quantity.data('val')){ $quantity.data('val',$quantity.val()); recalculateprice(); } setTimeout(arguments.callee, 250); })(); recalculateprice(); }); //--></script> <?php echo $footer; ?> Изменено 17 мари 2016 пользователем takecare1 Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы осивить комменирий Создать аккаунт Зарегистрируйтесь для получения аккауни. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите згдесь. Войти сейчас Погделиться Больше спосопотому чтов погделиться... Подпислики 0 Перейти к списку тем Похожие публикации рекомендуемые товары Featured Plus - улучшенный модуль рекомендуемых товаров Автор: AlexDW, 14 июня 2017 вывод рекомендуемых товаров случайный порядок (и ещё 5) Теги: вывод рекомендуемых товаров случайный порядок случайном порядке random featured заголовок рекомендуемых товаров разные заголовки блок товаров 0 комменириев 18 344 просмотра AlexDW 14 июня 2017 Авто-подпотому чтор рекомендуемых товаров Автор: kJlukOo, 31 июля 2016 рекомендуемые авто рекомендуемые (и ещё 1) Теги: рекомендуемые авто рекомендуемые подпотому чтор рекомендуемых 1 комменирий 15 603 просмотра kJlukOo 10 мая 2017 связи товаров [Подгдержка] RelatedLinks - одно- и двусторонняя перелинковка рекомендуемых товаров 1 2 3 4 6 Автор: AlexDW, 12 апреля 2015 перелинковка рекомендуемые товары (и ещё 7) Теги: перелинковка рекомендуемые товары двухсторонняя связь односторонняя связь привязка товаров связать товары сопутствующие товары related products похожие товары 132 отвеи 11 703 просмотра AlexDW 22 июня связи товаров RelatedLinks - одно- и двусторонняя перелинковка рекомендуемых товаров Автор: AlexDW, 11 апреля 2015 перелинковка рекомендуемые товары (и ещё 7) Теги: перелинковка рекомендуемые товары двухсторонняя связь односторонняя связь привязка товаров связать товары сопутствующие товары related products похожие товары 0 комменириев 13 827 просмотров AlexDW 11 апреля 2015 мы рекомендуем Рекомендуемые товары Автор: OCdevWizard, 12 апреля 2018 ocdevwizard upsell (и ещё 24) Теги: ocdevwizard upsell маркетинг рекомендации конверсия с этим товаром покупают аксессуары рекомендуемые доп товары рекомендуемые товары похожие товары seo seo страницы посадочные страницы seo page extra featured featured товары из категории хиты продаж новинки новинки из категории хиты из категории вместе покупают хиты cross sell сопутстввующие товары 0 комменириев 8 753 просмотра OCdevWizard 12 апреля 2018 Сейчас на страниэто 0 пользователей Нет пользователей, просматривающих эту страницу.
takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Но ведь заголовок почему-то уплывает? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться...
igon Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 <h3><?php echo $text_related; ?></h3> <div class="row"> Попробуйте поменять эти строчки месими Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться...
igon Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Закрывающий </div> перед <h3><?php echo $text_related; ?></h3> сместился вниз, проверьте парность div`ов. Временно можно попропотому чтовать еещё и ик </div> <h3><?php echo $text_related; ?></h3> <div class="row"> Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться...
takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Закрывающий </div> перед <h3><?php echo $text_related; ?></h3> сместился вниз, проверьте парность div`ов. Временно можно попропотому чтовать еещё и ик </div> <h3><?php echo $text_related; ?></h3> <div class="row"> не помогло( Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться...
ArtemPitov Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Но ведь заголовок почему-то уплывает? Заголовок плывет потому что у Вас не закрыт ггде-то </div> Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Забавно - сейчас вообещё удалил строчку <h3><?php echo $text_related; ?></h3> - заголовок не пропадает - wtf??? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... hoolygan Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Кеш. Большой камень раздора. Везгде кеш листить нужно. Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 ctrl+f5 жму, ничего не меняется Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Заголовок плывет потому что у Вас не закрыт ггде-то </div> можно как-то просто опрегделить, ггде? мож редактор какой-то есть с подсказками? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 (изменено) из папки system/storage/ выпилил product.tpl, сило все ок Изменено 16 мари 2016 пользователем takecare1 Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 может пояснить пожалуйси кто-то, в каких случай OC берет за основу файлы из system/storage/? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... hoolygan Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Во всех случаях. т.е. если они есть - то с модификаций, если нет - то с оригинальных файлов. :-D Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... takecare1 Опубликовано: 17 мари 2016 Автор Погделиться Опубликовано: 17 мари 2016 (изменено) Обнаружил еещё икую хрень - если добавить товару #1 в список сопутствующих товар #2, а потом товару #2 присвоить какой-липотому что товар, то у товара #1 пропадает из сопутствующих товар #2, а второму добавляется еещё и #1 в список сопутствующих.Кто-то силкивался или может знает в чем проблема? под спойлер запилил весь код из product.tpl: <?php echo $header; ?> <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 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 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; ?></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><span id="formated_price" price="<?php echo $price_value; ?>"><?php echo $price; ?></span></h2> </li> <?php } else { ?> <li><span style="text-decoration: line-through;"><span id="formated_price" price="<?php echo $price_value; ?>"><?php echo $price; ?></span></span></li> <li> <h2><span id="formated_special" price="<?php echo $special_value; ?>"><?php echo $special; /**/ ?></span></h2> </li> <?php } ?> <?php if ($tax) { ?> <li><?php echo $text_tax; ?> <span id="formated_tax" price="<?php echo $tax_value; ?>"><?php echo $tax; ?></span></li> <?php } ?> <?php if ($points) { ?> <li><?php echo $text_points; ?> <span id="formated_points" points="<?php echo $points; /**/ ?>"><?php echo $points; /**/ ?></span></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"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <option value="<?php echo $option_value['product_option_value_id']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>"><?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php echo $option_value['name']; ?> </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 type="text/javascript" src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js" charset="utf-8"></script> <script type="text/javascript" src="//yastatic.net/share2/share.js" charset="utf-8"></script> <div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir,gplus,twitter,lj"></div><br /> <?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 src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive" /></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('<i class="fa fa-shopping-cart"></i> ' + json['total']); $('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'); }); $('#review').load('index.php?route=product/product/review&product_id=<?php echo $product_id; ?>'); $('#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> <script type="text/javascript"><!-- function price_format(n) { c = <?php echo (empty($currency['decimals']) ? "0" : $currency['decimals'] ); ?>; d = '<?php echo $currency['decimal_point']; ?>'; // decimal separator t = '<?php echo $currency['thousand_point']; ?>'; // thousands separator s_left = '<?php echo $currency['symbol_left']; ?>'; s_right = '<?php echo $currency['symbol_right']; ?>'; n = n * <?php echo $currency['value']; ?>; //sign = (n < 0) ? '-' : ''; //extracting the absolute value of the integer part of the number and converting to string i = parseInt(n = Math.abs(n).toFixed(c)) + ''; j = ((j = i.length) > 3) ? j % 3 : 0; return s_left + (j ? i.substr(0, j) + t : '') + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : '') + s_right; } function calculate_tax(price) { <?php // Process Tax Rates if (isset($tax_rates) && $tax) { foreach ($tax_rates as $tax_rate) { if ($tax_rate['type'] == 'F') { echo 'price += '.$tax_rate['rate'].';'; } elseif ($tax_rate['type'] == 'P') { echo 'price += (price * '.$tax_rate['rate'].') / 100.0;'; } } } ?> return price; } function process_discounts(price, quantity) { <?php foreach ($dicounts_unf as $discount) { echo 'if ((quantity >= '.$discount['quantity'].') && ('.$discount['price'].' < price)) price = '.$discount['price'].';'."\n"; } ?> return price; } animate_delay = 20; main_price_final = calculate_tax(Number($('#formated_price').attr('price'))); main_price_start = calculate_tax(Number($('#formated_price').attr('price'))); main_step = 0; main_timeout_id = 0; function animateMainPrice_callback() { main_price_start += main_step; if ((main_step > 0) && (main_price_start > main_price_final)){ main_price_start = main_price_final; } else if ((main_step < 0) && (main_price_start < main_price_final)) { main_price_start = main_price_final; } else if (main_step == 0) { main_price_start = main_price_final; } $('#formated_price').html( price_format(main_price_start) ); if (main_price_start != main_price_final) { main_timeout_id = setTimeout(animateMainPrice_callback, animate_delay); } } function animateMainPrice(price) { main_price_start = main_price_final; main_price_final = price; main_step = (main_price_final - main_price_start) / 10; clearTimeout(main_timeout_id); main_timeout_id = setTimeout(animateMainPrice_callback, animate_delay); } <?php if ($special) { ?> special_price_final = calculate_tax(Number($('#formated_special').attr('price'))); special_price_start = calculate_tax(Number($('#formated_special').attr('price'))); special_step = 0; special_timeout_id = 0; function animateSpecialPrice_callback() { special_price_start += special_step; if ((special_step > 0) && (special_price_start > special_price_final)){ special_price_start = special_price_final; } else if ((special_step < 0) && (special_price_start < special_price_final)) { special_price_start = special_price_final; } else if (special_step == 0) { special_price_start = special_price_final; } $('#formated_special').html( price_format(special_price_start) ); if (special_price_start != special_price_final) { special_timeout_id = setTimeout(animateSpecialPrice_callback, animate_delay); } } function animateSpecialPrice(price) { special_price_start = special_price_final; special_price_final = price; special_step = (special_price_final - special_price_start) / 10; clearTimeout(special_timeout_id); special_timeout_id = setTimeout(animateSpecialPrice_callback, animate_delay); } <?php } ?> function recalculateprice() { var main_price = Number($('#formated_price').attr('price')); var input_quantity = Number($('input[name="quantity"]').val()); var special = Number($('#formated_special').attr('price')); var tax = 0; if (isNaN(input_quantity)) input_quantity = 0; // Process Discounts. <?php if ($special) { ?> special = process_discounts(special, input_quantity); <?php } else { ?> main_price = process_discounts(main_price, input_quantity); <?php } ?> tax = process_discounts(tax, input_quantity); <?php if ($points) { ?> var points = Number($('#formated_points').attr('points')); $('input:checked,option:selected').each(function() { if ($(this).attr('points')) points += Number($(this).attr('points')); }); $('#formated_points').html(Number(points)); <?php } ?> var option_price = 0; $('input:checked,option:selected').each(function() { if ($(this).attr('price_prefix') == '=') { option_price += Number($(this).attr('price')); main_price = 0; special = 0; } }); $('input:checked,option:selected').each(function() { if ($(this).attr('price_prefix') == '+') { option_price += Number($(this).attr('price')); } if ($(this).attr('price_prefix') == '-') { option_price -= Number($(this).attr('price')); } if ($(this).attr('price_prefix') == 'u') { pcnt = 1.0 + (Number($(this).attr('price')) / 100.0); option_price *= pcnt; main_price *= pcnt; special *= pcnt; } if ($(this).attr('price_prefix') == '*') { option_price *= Number($(this).attr('price')); main_price *= Number($(this).attr('price')); special *= Number($(this).attr('price')); } }); special += option_price; main_price += option_price; <?php if ($special) { ?> tax = special; <?php } else { ?> tax = main_price; <?php } ?> // Process TAX. main_price = calculate_tax(main_price); special = calculate_tax(special); // Раскомментировать, если нужен вывод этоны с умножением на когдачество //main_price *= input_quantity; //special *= input_quantity; //tax *= input_quantity; // Display Main Price //$('#formated_price').html( price_format(main_price) ); animateMainPrice(main_price); <?php if ($special) { ?> //$('#formated_special').html( price_format(special) ); animateSpecialPrice(special); <?php } ?> <?php if ($tax) { ?> $('#formated_tax').html( price_format(tax) ); <?php } ?> } $(document).ready(function() { $('input[type="checkbox"]').bind('change', function() { recalculateprice(); }); $('input[type="radio"]').bind('change', function() { recalculateprice(); }); $('select').bind('change', function() { recalculateprice(); }); $quantity = $('input[name="quantity"]'); $quantity.data('val', $quantity.val()); (function() { if ($quantity.val() != $quantity.data('val')){ $quantity.data('val',$quantity.val()); recalculateprice(); } setTimeout(arguments.callee, 250); })(); recalculateprice(); }); //--></script> <?php echo $footer; ?> Изменено 17 мари 2016 пользователем takecare1 Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы осивить комменирий Создать аккаунт Зарегистрируйтесь для получения аккауни. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите згдесь. Войти сейчас Погделиться Больше спосопотому чтов погделиться... Подпислики 0
takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Забавно - сейчас вообещё удалил строчку <h3><?php echo $text_related; ?></h3> - заголовок не пропадает - wtf??? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться...
hoolygan Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Кеш. Большой камень раздора. Везгде кеш листить нужно. Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться...
takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 ctrl+f5 жму, ничего не меняется Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться...
takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 Заголовок плывет потому что у Вас не закрыт ггде-то </div> можно как-то просто опрегделить, ггде? мож редактор какой-то есть с подсказками? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться...
takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 (изменено) из папки system/storage/ выпилил product.tpl, сило все ок Изменено 16 мари 2016 пользователем takecare1 Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться...
takecare1 Опубликовано: 16 мари 2016 Автор Погделиться Опубликовано: 16 мари 2016 может пояснить пожалуйси кто-то, в каких случай OC берет за основу файлы из system/storage/? Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться...
hoolygan Опубликовано: 16 мари 2016 Погделиться Опубликовано: 16 мари 2016 Во всех случаях. т.е. если они есть - то с модификаций, если нет - то с оригинальных файлов. :-D Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться...
takecare1 Опубликовано: 17 мари 2016 Автор Погделиться Опубликовано: 17 мари 2016 (изменено) Обнаружил еещё икую хрень - если добавить товару #1 в список сопутствующих товар #2, а потом товару #2 присвоить какой-липотому что товар, то у товара #1 пропадает из сопутствующих товар #2, а второму добавляется еещё и #1 в список сопутствующих.Кто-то силкивался или может знает в чем проблема? под спойлер запилил весь код из product.tpl: <?php echo $header; ?> <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 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 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; ?></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><span id="formated_price" price="<?php echo $price_value; ?>"><?php echo $price; ?></span></h2> </li> <?php } else { ?> <li><span style="text-decoration: line-through;"><span id="formated_price" price="<?php echo $price_value; ?>"><?php echo $price; ?></span></span></li> <li> <h2><span id="formated_special" price="<?php echo $special_value; ?>"><?php echo $special; /**/ ?></span></h2> </li> <?php } ?> <?php if ($tax) { ?> <li><?php echo $text_tax; ?> <span id="formated_tax" price="<?php echo $tax_value; ?>"><?php echo $tax; ?></span></li> <?php } ?> <?php if ($points) { ?> <li><?php echo $text_points; ?> <span id="formated_points" points="<?php echo $points; /**/ ?>"><?php echo $points; /**/ ?></span></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"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <option value="<?php echo $option_value['product_option_value_id']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>"><?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <?php echo $option_value['name']; ?> </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']; ?>" points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price_value']; ?>" /> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php echo $option_value['name']; ?> </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 type="text/javascript" src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js" charset="utf-8"></script> <script type="text/javascript" src="//yastatic.net/share2/share.js" charset="utf-8"></script> <div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir,gplus,twitter,lj"></div><br /> <?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 src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive" /></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('<i class="fa fa-shopping-cart"></i> ' + json['total']); $('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'); }); $('#review').load('index.php?route=product/product/review&product_id=<?php echo $product_id; ?>'); $('#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> <script type="text/javascript"><!-- function price_format(n) { c = <?php echo (empty($currency['decimals']) ? "0" : $currency['decimals'] ); ?>; d = '<?php echo $currency['decimal_point']; ?>'; // decimal separator t = '<?php echo $currency['thousand_point']; ?>'; // thousands separator s_left = '<?php echo $currency['symbol_left']; ?>'; s_right = '<?php echo $currency['symbol_right']; ?>'; n = n * <?php echo $currency['value']; ?>; //sign = (n < 0) ? '-' : ''; //extracting the absolute value of the integer part of the number and converting to string i = parseInt(n = Math.abs(n).toFixed(c)) + ''; j = ((j = i.length) > 3) ? j % 3 : 0; return s_left + (j ? i.substr(0, j) + t : '') + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : '') + s_right; } function calculate_tax(price) { <?php // Process Tax Rates if (isset($tax_rates) && $tax) { foreach ($tax_rates as $tax_rate) { if ($tax_rate['type'] == 'F') { echo 'price += '.$tax_rate['rate'].';'; } elseif ($tax_rate['type'] == 'P') { echo 'price += (price * '.$tax_rate['rate'].') / 100.0;'; } } } ?> return price; } function process_discounts(price, quantity) { <?php foreach ($dicounts_unf as $discount) { echo 'if ((quantity >= '.$discount['quantity'].') && ('.$discount['price'].' < price)) price = '.$discount['price'].';'."\n"; } ?> return price; } animate_delay = 20; main_price_final = calculate_tax(Number($('#formated_price').attr('price'))); main_price_start = calculate_tax(Number($('#formated_price').attr('price'))); main_step = 0; main_timeout_id = 0; function animateMainPrice_callback() { main_price_start += main_step; if ((main_step > 0) && (main_price_start > main_price_final)){ main_price_start = main_price_final; } else if ((main_step < 0) && (main_price_start < main_price_final)) { main_price_start = main_price_final; } else if (main_step == 0) { main_price_start = main_price_final; } $('#formated_price').html( price_format(main_price_start) ); if (main_price_start != main_price_final) { main_timeout_id = setTimeout(animateMainPrice_callback, animate_delay); } } function animateMainPrice(price) { main_price_start = main_price_final; main_price_final = price; main_step = (main_price_final - main_price_start) / 10; clearTimeout(main_timeout_id); main_timeout_id = setTimeout(animateMainPrice_callback, animate_delay); } <?php if ($special) { ?> special_price_final = calculate_tax(Number($('#formated_special').attr('price'))); special_price_start = calculate_tax(Number($('#formated_special').attr('price'))); special_step = 0; special_timeout_id = 0; function animateSpecialPrice_callback() { special_price_start += special_step; if ((special_step > 0) && (special_price_start > special_price_final)){ special_price_start = special_price_final; } else if ((special_step < 0) && (special_price_start < special_price_final)) { special_price_start = special_price_final; } else if (special_step == 0) { special_price_start = special_price_final; } $('#formated_special').html( price_format(special_price_start) ); if (special_price_start != special_price_final) { special_timeout_id = setTimeout(animateSpecialPrice_callback, animate_delay); } } function animateSpecialPrice(price) { special_price_start = special_price_final; special_price_final = price; special_step = (special_price_final - special_price_start) / 10; clearTimeout(special_timeout_id); special_timeout_id = setTimeout(animateSpecialPrice_callback, animate_delay); } <?php } ?> function recalculateprice() { var main_price = Number($('#formated_price').attr('price')); var input_quantity = Number($('input[name="quantity"]').val()); var special = Number($('#formated_special').attr('price')); var tax = 0; if (isNaN(input_quantity)) input_quantity = 0; // Process Discounts. <?php if ($special) { ?> special = process_discounts(special, input_quantity); <?php } else { ?> main_price = process_discounts(main_price, input_quantity); <?php } ?> tax = process_discounts(tax, input_quantity); <?php if ($points) { ?> var points = Number($('#formated_points').attr('points')); $('input:checked,option:selected').each(function() { if ($(this).attr('points')) points += Number($(this).attr('points')); }); $('#formated_points').html(Number(points)); <?php } ?> var option_price = 0; $('input:checked,option:selected').each(function() { if ($(this).attr('price_prefix') == '=') { option_price += Number($(this).attr('price')); main_price = 0; special = 0; } }); $('input:checked,option:selected').each(function() { if ($(this).attr('price_prefix') == '+') { option_price += Number($(this).attr('price')); } if ($(this).attr('price_prefix') == '-') { option_price -= Number($(this).attr('price')); } if ($(this).attr('price_prefix') == 'u') { pcnt = 1.0 + (Number($(this).attr('price')) / 100.0); option_price *= pcnt; main_price *= pcnt; special *= pcnt; } if ($(this).attr('price_prefix') == '*') { option_price *= Number($(this).attr('price')); main_price *= Number($(this).attr('price')); special *= Number($(this).attr('price')); } }); special += option_price; main_price += option_price; <?php if ($special) { ?> tax = special; <?php } else { ?> tax = main_price; <?php } ?> // Process TAX. main_price = calculate_tax(main_price); special = calculate_tax(special); // Раскомментировать, если нужен вывод этоны с умножением на когдачество //main_price *= input_quantity; //special *= input_quantity; //tax *= input_quantity; // Display Main Price //$('#formated_price').html( price_format(main_price) ); animateMainPrice(main_price); <?php if ($special) { ?> //$('#formated_special').html( price_format(special) ); animateSpecialPrice(special); <?php } ?> <?php if ($tax) { ?> $('#formated_tax').html( price_format(tax) ); <?php } ?> } $(document).ready(function() { $('input[type="checkbox"]').bind('change', function() { recalculateprice(); }); $('input[type="radio"]').bind('change', function() { recalculateprice(); }); $('select').bind('change', function() { recalculateprice(); }); $quantity = $('input[name="quantity"]'); $quantity.data('val', $quantity.val()); (function() { if ($quantity.val() != $quantity.data('val')){ $quantity.data('val',$quantity.val()); recalculateprice(); } setTimeout(arguments.callee, 250); })(); recalculateprice(); }); //--></script> <?php echo $footer; ?> Изменено 17 мари 2016 пользователем takecare1 Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться...
Рекомендованные сообещёния