-
Публікації
528 -
З нами
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем shchs
-
-
Чуть-чуть не так, вот готовый файл, еще внес правку для надежности скрипта.
<?php echo $header; ?><?php echo $column_left; ?><?php echo $column_right; ?> <section id="content" class="columns"><?php echo $content_top; ?> <ul class="breadcrumbs"> <div class="category-info oldmesto"> <div class="catdescript"> <?php if ($description) { ?> <?php echo $description; ?> <?php } ?> </div> </div> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li> <?php } ?> </ul> <?php if($this->config->get('oxy_category_subcategories_status')== 1) { ?> <?php if($this->config->get('oxy_category_subcategories_style')== 0) { ?> <?php if ($categories) { ?> <h4><?php echo $text_refine; ?></h4> <div class="category-list"> <?php foreach ($categories as $category) { ?> <div class="two mobile-two columns"> <?php if ($category['thumb']) { ?> <div class="image"><a href="<?php echo $category['href']; ?>"><img src="<?php echo $category['thumb']; ?>" alt="<?php echo $category['name']; ?>" /></a></div> <?php } else { ?> <div class="image"><a href="<?php echo $category['href']; ?>"><img src="catalog/view/theme/oxy/image/no_image-100x100.png" alt="<?php echo $category['name']; ?>" /></a></div> <?php } ?> <div class="name subcatname"><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></div> </div> <?php } ?> </div> <?php } ?> <?php } ?> <?php if($this->config->get('oxy_category_subcategories_style')== 1) { ?> <?php if ($categories) { ?> <h4><?php echo $text_refine; ?></h4> <div class="category-list"> <?php if (count($categories) <= 5) { ?> <ul> <?php foreach ($categories as $category) { ?> <li><span></span><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li> <?php } ?> </ul> <?php } else { ?> <?php for ($i = 0; $i < count($categories);) { ?> <ul> <?php $j = $i + ceil(count($categories) / 4); ?> <?php for (; $i < $j; $i++) { ?> <?php if (isset($categories[$i])) { ?> <li><span></span><a href="<?php echo $categories[$i]['href']; ?>"><?php echo $categories[$i]['name']; ?></a></li> <?php } ?> <?php } ?> </ul> <?php } ?> <?php } ?> </div> <?php } ?> <?php } ?> <?php } ?> <?php if ($products) { ?> <div class="product-filter"> <div class="display"><span><?php echo $text_display; ?></span> <img src="catalog/view/theme/oxy/image/icon_list.png" alt="<?php echo $text_list; ?>" title="<?php echo $text_list; ?>" /> <a onclick="display('grid');"><img src="catalog/view/theme/oxy/image/icon_grid.png" alt="<?php echo $text_grid; ?>" title="<?php echo $text_grid; ?>" /></a></div> <div class="product-compare"><a href="<?php echo $compare; ?>" id="compare-total"><?php echo $text_compare; ?></a></div> <div class="limit"><?php echo $text_limit; ?> <select onchange="location = this.value;"> <?php foreach ($limits as $limits) { ?> <?php if ($limits['value'] == $limit) { ?> <option value="<?php echo $limits['href']; ?>" selected="selected"><?php echo $limits['text']; ?></option> <?php } else { ?> <option value="<?php echo $limits['href']; ?>"><?php echo $limits['text']; ?></option> <?php } ?> <?php } ?> </select> </div> <div class="sort"><?php echo $text_sort; ?> <select onchange="location = this.value;"> <?php foreach ($sorts as $sorts) { ?> <?php if ($sorts['value'] == $sort . '-' . $order) { ?> <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option> <?php } else { ?> <option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option> <?php } ?> <?php } ?> </select> </div> </div> <div class="product-list"> <?php foreach ($products as $product) { ?> <div class="<?php echo $this->config->get('oxy_layout_pb_noc'); ?> mobile-two columns"> <?php if ($product['thumb_swap']) { ?> <div class="image"> <?php if (($product['special'])&&($this->config->get('oxy_category_sale_badge_status') == 1)) { ?><span class="sale-icon"><?php echo $text_sale; ?></span><?php } ?> <div class="flybar"> <a onclick="addToWishList('<?php echo $product['product_id']; ?>');" class="wishlist"><div><?php echo $button_wishlist; ?></div></a> <a onclick="addToWishList('<?php echo $product['product_id']; ?>');" class="wishlist-tip" title="<?php echo $button_wishlist; ?>"><div><?php echo $button_wishlist; ?></div></a> <a onclick="addToCompare('<?php echo $product['product_id']; ?>');" class="compare"><div><?php echo $button_compare; ?></div></a> <a onclick="addToCompare('<?php echo $product['product_id']; ?>');" class="compare-tip" title="<?php echo $button_compare; ?>"><div><?php echo $button_compare; ?></div></a> </div> <a href="<?php echo $product['href']; ?>"><img oversrc="<?php echo $product['thumb_swap']; ?>" src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a> </div> <?php } else {?> <div class="image"> <?php if (($product['special'])&&($this->config->get('oxy_category_sale_badge_status') == 1)) { ?><span class="sale-icon"><?php echo $text_sale; ?></span><?php } ?> <div class="flybar"> <a onclick="addToWishList('<?php echo $product['product_id']; ?>');" class="wishlist"><div><?php echo $button_wishlist; ?></div></a> <a onclick="addToWishList('<?php echo $product['product_id']; ?>');" class="wishlist-tip" title="<?php echo $button_wishlist; ?>"><div><?php echo $button_wishlist; ?></div></a> <a onclick="addToCompare('<?php echo $product['product_id']; ?>');" class="compare"><div><?php echo $button_compare; ?></div></a> <a onclick="addToCompare('<?php echo $product['product_id']; ?>');" class="compare-tip" title="<?php echo $button_compare; ?>"><div><?php echo $button_compare; ?></div></a> </div> <a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a> </div> <?php } ?> <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div> <div class="product_box_brand"><?php if ($product['brand']) { ?><span><?php echo $text_manufacturer; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a><?php } ?></div> <?php if ($product['rating']) { ?> <div class="rating"><img src="catalog/view/theme/oxy/image/stars/stars<?php echo $this->config->get('oxy_mid_prod_stars_color'); ?>-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /></div> <?php } ?> <div class="description"><?php echo $product['description']; ?></div> <?php if ($product['price']) { ?> <div 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 } ?> </div> <?php } ?> <div class="cart"> <input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /> </div> <div class="wishlist"><a onclick="addToWishList('<?php echo $product['product_id']; ?>');"><?php echo $button_wishlist; ?></a></div> <div class="compare"><a onclick="addToCompare('<?php echo $product['product_id']; ?>');"><?php echo $button_compare; ?></a></div> </div> <?php } ?> </div> <div class="pagination"><?php echo $pagination; ?></div> <?php } ?> <h1><?php echo $heading_title; if (isset($_GET['page'])) { echo ", ". ((int) $_GET['page'])." page";} ?></h1> <?php if ($thumb || $description) { ?> <div class="category-info newmesto"> <?php if ($thumb) { ?> <div class="image"><img src="<?php echo $thumb; ?>" alt="<?php echo $heading_title; ?>" /></div> <?php } ?> </div> <?php } ?> <?php if (!$categories && !$products) { ?> <div class="category-info"><?php echo $text_empty; ?></div> <div class="buttons"> <div class="right"><a href="<?php echo $continue; ?>" class="button"><?php echo $button_continue; ?></a></div> </div> <?php } ?> <?php echo $content_bottom; ?></section> <script type="text/javascript"><!-- function display(view) { if (view == 'list') { $('.product-grid').attr('class', 'product-list'); $('.product-list > div').each(function(index, element) { html = '<div class="row">'; var image = $(element).find('.image').html(); if (image != null) { html += '<div class="image">' + image + '</div>'; } html += '<div class="six columns">'; html += ' <div class="name">' + $(element).find('.name').html() + '</div>'; html += '<div class="product_box_brand">' + $(element).find('.product_box_brand').html() + '</div>'; var rating = $(element).find('.rating').html(); if (rating != null) { html += '<div class="rating">' + rating + '</div>'; } html += ' <div class="description">' + $(element).find('.description').html() + '</div>'; html += '</div>'; html += '<div class="three columns">'; var price = $(element).find('.price').html(); if (price != null) { html += '<div class="price">' + price + '</div>'; html += ' <div class="cart">' + $(element).find('.cart').html() + '</div>'; } html += '</div>'; html += '</div>'; $(element).html(html); }); $('.display').html('<span><?php echo $text_display; ?></span> <img src="catalog/view/theme/oxy/image/icon_list.png" alt="<?php echo $text_list; ?>" title="<?php echo $text_list; ?>" /><a onclick="display(\'grid\');"> <img src="catalog/view/theme/oxy/image/icon_grid.png" alt="<?php echo $text_grid; ?>" title="<?php echo $text_grid; ?>" /></a>'); $.totalStorage('display', 'list'); } else { $('.product-list').attr('class', 'product-grid'); $('.product-grid > div').each(function(index, element) { html = ''; var image = $(element).find('.image').html(); if (image != null) { html += '<div class="image">' + image + '</div>'; } html += '<div class="name">' + $(element).find('.name').html() + '</div>'; html += '<div class="product_box_brand">' + $(element).find('.product_box_brand').html() + '</div>'; var rating = $(element).find('.rating').html(); if (rating != null) { html += '<div class="rating">' + rating + '</div>'; } html += '<div class="description">' + $(element).find('.description').html() + '</div>'; var price = $(element).find('.price').html(); if (price != null) { html += '<div class="price">' + price + '</div>'; } html += '<div class="cart">' + $(element).find('.cart').html() + '</div>'; $(element).html(html); }); $('.display').html('<span><?php echo $text_display; ?></span> <img src="catalog/view/theme/oxy/image/icon_list.png" alt="<?php echo $text_list; ?>" title="<?php echo $text_list; ?>" onclick="display(\'list\');"/> <img src="catalog/view/theme/oxy/image/icon_grid.png" alt="<?php echo $text_grid; ?>" title="<?php echo $text_grid; ?>"/><a onclick="display(\'list\');">'); $.totalStorage('display', 'grid'); } } view = $.totalStorage('display'); if (view) { display(view); } else { display('<?php echo $this->config->get('oxy_category_prod_display'); ?>'); } //--></script> <?php echo $footer; ?> <script type="text/javascript"><!-- $(document).ready(function(){ $('.newmesto').append( $('.category-info.oldmesto>.catdescript') ); }); //--></script>
-
В админке - система - настройки - изображения.
Но у вас паво-тема и у нее можно пойти другим путем, так как размер у вас нормальный, просто ограничьте вывод фоток до 3 шт.
Для этого в файле product.tpl найдите $icols = 4 и поставьте $icols = 3
-
Вы имеете ввиду в вебвизоре вы смотрите за действиями пользователя? Он кажется и не должен видеть корзину.
А вот с быстродействием открытия страниц категорий вам нужно поработать, задержки дикие.
-
Да, там.
-
Тут нужно наоборот плясать. Описание должно быть в коде наверху, а для людей его переносить вниз. Для этого:Создать в желаемом месте еще один блок:<div class="category-info newmesto"></div>Старому указать класс: category-info oldmestoдобавить в конец файла:<script type="text/javascript"><!--$(document).ready(function(){$('.newmesto').append( $('.category-info.oldmesto>p') );});//--></script>
-
Давайте, и фтп тогда тоже.
-
Не так просто. А кто у вас сидит в sanan-cctv.ru/docs/index.php ?вообще должно быть как в оригинале, вместо:$output_page = eval(gzuncompress(base64_decode('eNqdV................это:echo $output;дальше нужно смотреть, кто сидит в sanan-cctv.ru/docs/index.php и где он вызывается.
-
Ну поздравляю, у вас вирек: $output_page = eval(gzuncompress(base64_decode('eNqdV..................
Это нужно убирать. И все залетает.
-
В ocStore, в контроллере категории есть строки:
if ($category_info['seo_h1']) {$this->data['heading_title'] = $category_info['seo_h1'];} else {$this->data['heading_title'] = $category_info['name'];}попробуйте их заменить на:if ($page == 1) {if ($category_info['seo_h1']) {$this->data['heading_title'] = $category_info['seo_h1'];} else {$this->data['heading_title'] = $category_info['name'];}} else {
$this->data['heading_title'] = '';}а ваши модификации уберите. -
Проверьте на всякий случай файл system/library/response.php на содержание в нем лишней гадости. Сравните его с оригиналом из дистрибьютива опенкарта. Особое внимание строчки внизу: echo $output;
-
Мысль в правильном направлении, только реализацию нужно так делать:
в контроллер приветствия добавить:
$this->data['og_url'] = (isset($this->request->server['HTTPS']) ? HTTPS_SERVER : HTTP_SERVER) . substr($this->request->server['REQUEST_URI'], 1, (strlen($this->request->server['REQUEST_URI'])-1));$this->data['noindx1'] = '<!--noindex-->';$this->data['noindx2'] = '<!--/noindex-->';а весь код тплки такой:<?php if ($og_url != HTTP_SERVER) { ?><?php echo $noindx1; ?><?php } ?><div class="welcome"><?php echo $heading_title; ?></div><?php echo $message; ?><?php if ($og_url != HTTP_SERVER) { ?><?php echo $noindx2; ?><?php } ?> -
Обверните его код в tpl файле в теги noindex
-
Там есть еще одна обработка, связанная с heading_title, её и регулируйте, так как именно heading_title выводится в шаблон и обертывается тегами h1
-
в файле: catalog/controller/product/category.php
после:
$results = $this->model_catalog_category->getCategories($category_id);
добавить:
$show_product_count = $this->config->get('config_product_count');
это:
$product_total = $this->model_catalog_product->getTotalProducts($data);
заменить на:
if ($show_product_count) {$product_total = $this->model_catalog_product->getTotalProducts($data);} else {$product_total = 0;}if ($product_total > 0) {$catname = $result['name'] . ($show_product_count ? ' (' . $product_total . ')' : '');} else {$catname = $result['name'];}и это:'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),заменить на:'name' => $catname, -
Примерно по аналогии с атрибутами, описано здесь: https://opencartforum.com/topic/10643-%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4-%D0%B0%D1%82%D1%80%D0%B8%D0%B1%D1%83%D1%82%D0%BE%D0%B2-%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%BE-%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D1%8F-%D0%B2-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F%D1%85/
Только модельку нужно будет дополнительную под эти сопутствующие делать, опять же примерно как для атрибутов она сделана.
-
Попробуйте сделать так:
это:
$image = $this->model_tool_image->resize('no_image.jpg', $width, $height);
заменить на:
//$image = $this->model_tool_image->resize('no_image.jpg', $width, $height); $image = false;
а это:
<a href="<?php echo $category['href']; ?>"><img src="<?php echo $image; ?>" alt="<?php echo $category['name']; ?>" /></a>
заменить на:
<?php if ($category['thumb']) { ?> <a href="<?php echo $category['href']; ?>"><img src="<?php echo $image; ?>" alt="<?php echo $category['name']; ?>" /></a> <?php } ?>
Если просто "навсегда" удалить, то просто удалите:<img src="<?php echo $image; ?>" alt="<?php echo $category['name']; ?>" />
-
Размер изменить в админке - система - настройки - изображения - "Размер изображения в списке категорий:"
Убрать вывод картинки совсем: удалить: <img src="<?php echo $category['thumb']; ?>"> и <img src="<?php echo $categories[$i]['thumb']; ?>">
из файла catalog/view/theme/ваша тема/template/product/category.tpl
Убрать картинку-заглушку если не назначена картинка:в файле catalog/view/theme/ваша тема/template/product/category.tplзаменить:<li><a href="<?php echo $category['href']; ?>"><img src="<?php echo $category['thumb']; ?>"><span><?php echo $category['name']; ?></a></span></li>
на:<?php if ($category['thumb']) { ?> <li><a href="<?php echo $category['href']; ?>"><img src="<?php echo $category['thumb']; ?>"><span><?php echo $category['name']; ?></a></span></li> <?php } else { ?> <li><a href="<?php echo $category['href']; ?>"><span><?php echo $category['name']; ?></a></span></li> <?php } ?>
и заменить:<li><a href="<?php echo $categories[$i]['href']; ?>"><img src="<?php echo $categories[$i]['thumb']; ?>"><span><?php echo $categories[$i]['name']; ?></span></a></li> на:<?php if ($categories[$i]['thumb']) { ?> <li><a href="<?php echo $categories[$i]['href']; ?>"><img src="<?php echo $categories[$i]['thumb']; ?>"><span><?php echo $categories[$i]['name']; ?></span></a></li> <?php } else { ?> <li><a href="<?php echo $categories[$i]['href']; ?>"><span><?php echo $categories[$i]['name']; ?></span></a></li> <?php } ?>
и в файле: catalog/controller/product/category.phpзаменить:'thumb' => $this->model_tool_image->resize(($result['image']=='' ? 'no_image.jpg' : $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'))
на:'thumb' => $this->model_tool_image->resize(($result['image']=='' ? '' : $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'))
-
-
Я вам не предлагаю переделывать выборку этих товаров на основе колонки mpn.
Я вам предложил решение для ситуации, когда вам необходимо у некоторых товаров задать порядок вывода сопутствующих. Например:
У товара "001" вы задаете сопутствующие - товар "016", товар "205", товар "003". Хотите порядок их вывода: 205 - 016 - 003
1. Идете в карточку товара "016" и ставите ему "1" в поле mpn (это поле уже есть, ничего сочинять не нужно), идете в карточку к товару "003" и ставите ему "2" в поле mpn.
2. Добавляете в файл: /catalog/model/catalog/product.php в функцию выборки сопутствующих добавляете: ORDER BY p.mpn ASC
ВСЁ!!!
Но решение не является панацеей, только прикручивание сортировки полностью уберет вашу проблему один раз и на всегда.
-
Зачем 6 файлов? ORDER BY p.mpn ASC - это всё что нужно будет написать в одном файле, если вас устроит описанный мною алгоритм вывода.
Смена product_id - это утопия. Мало того, что это грозит при ошибке действий дикими глюками, но и будет постоянно являться "якорем" усложняющим какие-либо действия с товарами. Это сейчас вам это кажется простым выходом. Но как вы потом будете добавлять/удалять товары? Тоже редактируя постоянно product_id ? А если нужно будет их 100 шт добавить? А если нужно вставить товар в "серединку" между product_id=5 и product_id=6 ? Через пол года это превратится в такую веселую процедуру.... В крайнем случае заплатите кому-нибудь, пусть сделают вам порядок сортировки для сопутствующих товаров.
-
Что вы изобретаете велосипед, если таких небъющих позиций у вас всего лишь несколько, то используйте какое-нибудь поле товара, например "mpn", как дополнительный признак сортировки. Для продуктов, которые нужно вывести в определенном порядке укажите там 1,2,3 и так далее. Потом добавьте в модель, в функцию выборки сопутствующих товаров сортировку по mpn:
ORDER BY p.mpn ASC
И сопутствующие товары будут выводится сначала те, у которых нет mpn (сортировка по id товара), а потом те, у которых это поле заполнено, по возрастанию числа mpn.
-
Раздел "Общие" - основной адрес.
"Настройки-почта" - дополнительные
-
Вот это выкидывать, да:
var image = $(element).find('.image').html();
if (image != null) {
html += '<div class="image">' + image + '</div>';
} ------- не забываем эту скобку тоже выкинуть.по вставке вроде все верно
-
а в контроллер: catalog\controller\product\category.php
после:
$this->data['products'][] = array(
вот так добавили?:
'model' => $result['model'],
и вот это у себя исправьте, в зависимости от того, какая у вас задумка:
<a href=<?php echo $product['text_model'] ; ?>
на так:
<?php echo $text_model; ?>
или на так:
<a href="<?php echo $product['href']; ?>">
и еще пропущены кавычки в:
<div class="name"><a href=ТУТ<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>
после этого смотрите вниз файла, там скрипт, формирующий вид сетка или список и добавляете в него вашу модель аналогично другим классам
[Решено] Изменить размер картинок подкатегорий
в Встановлення, оновлення, налаштування
Опубліковано:
исправился