Последние темы: Opencart 3.x: Общие вопросы https://opencart-forum.ru/forum/120-opencart-3x-obschie-voprosy/Последние темы: Opencart 3.x: Общие вопросыruУсловие https://opencart-forum.ru/topic/184184-uslovie/ Здравствуйте.

 

Вопрос как вывести блок с условием от суммы в ocstore 3 например,

<!-- Если цена товара больше 500 то выводим в списке товаров блок -->
<div условие->500 >
  выводим блок
 </div>

 

заранее спасибо

 

]]>
184184Sat, 14 Jan 2023 21:47:15 +0000
Как растянуть картинку на всю ширину экрана в default шаблоне? https://opencart-forum.ru/topic/184160-kak-rastyanut-kartinku-na-vsyu-shirinu-ekrana-v-default-shablone/ Всем привет. Загружаю картинку и она обрезается по левой и правой колонке в Content Main (1 рис.).

Есть ли какой-нибудь способ это исправить или проблема решится только сменой шаблона. И сделать так (2 рис.).

3 рис. - как раз те злосчастные колонки.

Заранее очень благодарен. 

 

]]>
184160Wed, 11 Jan 2023 07:32:14 +0000
Установить опцию Учитывать со склада глобально на все товары https://opencart-forum.ru/topic/184229-ustanovit-opciyu-uchityvat-so-sklada-globalno-na-vse-tovary/ добрый день, как можно поставить сразу на все товары что есть на сайте чтоб статус Вычитывать со склада был ДА, а то там больше 500 товаров и на некоторых стоит НЕТ, чтоб долго не выискивать их хочу поставить на все

Я так понимаю надо скачать базу данных заменить определенные значения массово в NP++ ? знать бы что заменить...

]]>
184229Sun, 22 Jan 2023 12:32:51 +0000
Как настроить платёжный шлюз? https://opencart-forum.ru/topic/184223-kak-nastroit-platyozhnyy-shlyuz/ У меня два веб-сайта OpenCart. Оба имеют версию 3.0.3.8. У меня есть платёжный шлюз, который идеально работает на одном веб-сайте, www.website1.com, и его обратный URL https://www.website1.com/index.php?route=extension/payment/jazzcash_card/callback . Я хочу использовать тот же шлюз на моем втором веб-сайте, который имеет URL www.website2.com. Я установил тот же URL-адрес возврата на втором веб-сайте, но после оплаты он перенаправляется на www.website1.com, поскольку URL-адрес возврата принадлежит первому веб-сайту. Как я могу использовать этот шлюз на другом веб-сайте?

]]>
184223Sat, 21 Jan 2023 18:21:39 +0000
Инверсия обработки количества товаров https://opencart-forum.ru/topic/184219-inversiya-obrabotki-kolichestva-tovarov/ Добрый день, кто знает в каком файле находится код который отвечает уменьшение количества товаров после того как была обработана заявка ? 

Мн нужно изменить чтоб после обработки заявки не уменьшалось количество товаров, наоборот пополнялось 

Например в наличии на сайте 5 картин, после обработки заявки на 2 единицы, вместо того чтоб осталось 3(-2) должно быть 7(+2)

 

]]>
184219Fri, 20 Jan 2023 19:03:27 +0000
Добавить строчку на странице checkout https://opencart-forum.ru/topic/184209-dobavit-strochku-na-stranice-checkout/ Добрый день,
ОС 3.0.2.0

под выпадающим списком стран нужно добавить строчку текста. Мультилингвально.

Как это сделать?
Заранее спсибо

]]>
184209Wed, 18 Jan 2023 14:12:32 +0000
Как исправить наценка опции добавляется к special цене вместо price ? https://opencart-forum.ru/topic/184170-kak-ispravit-nacenka-opcii-dobavlyaetsya-k-special-cene-vmesto-price/ Ситуация следующая.

У товара есть три опции + к цене.

Первая +0

Вторая +1000

Третья  +4000

Без скидки работает все ок. Но когда добавляю акцию например 5%.

Опция поченуто плюсуется к цене special, а не к price. 

 

Пример.

Цена первой опции 10000 -5% = 9500  Все ок так опция +0

Цена второй опции берет цену уже со скидкой 9500+1000=10500 и подставляет ее как цену со скидкой 5% А старую цену подганяет чтобы получилось 5%

Пишет 12105 старая цена. А должно быть 10000+1000=11000 старая цена.

 

Подскажите хоть где искать причину ?

Вот так выглядит код:

<div class="price_stock">
          <div class="price">
          {% if not special %}
          <p class="price_standart">{{ price }}</p>
          {% else %}
          <p class="price_new">{{ special }}</p>
          <p class="price_old">{{ price }}</p>
          {% endif %}       
        </div>

 

 

 

]]>
184170Thu, 12 Jan 2023 13:12:11 +0000
количество комментариев на странице товара https://opencart-forum.ru/topic/184159-kolichestvo-kommentariev-na-stranice-tovara/ заметил что на странице товара по умолчанию выводится 5 комментариев, затем идет переключение страниц. как увеличить количество выводимых комментариев на странице?

]]>
184159Tue, 10 Jan 2023 22:07:52 +0000
редирект страницы после оплаты qr-ом https://opencart-forum.ru/topic/184148-redirekt-stranicy-posle-oplaty-qr-om/ Здравствуйте создал страницу оплаты в котором генерируется QR код, после оплаты получаю postback и в базе данных меняю статус заказа.

Хочу сделать чтобы страница которая генерирует QR, который пользователь видит и сканирует, после оплаты или не оплаты РЕДИРЕКТИЛСЯ на success или failure странички соответственно

Спасибо

версия ос 3.0.2.0

 

]]>
184148Mon, 09 Jan 2023 13:50:15 +0000
В выпадающем списке только 5 первых категорий. Помогите, Плиз! https://opencart-forum.ru/topic/175720-v-vypadayuschem-spiske-tolko-5-pervyh-kategoriy-pomogite-pliz/ Добрый день. У меня такая ситуация: В разделе КАТАЛОГ - категории,  при добавлении новой категории, в разделе ДАННЫЕ, я пытаюсь привязать созданную категорию в выпадающем списке ячейки "родительская категория". Из выпадающего списка мне высвечивает название только первых 5 шт созданных ранее мною категорий. Т.е. таблица из выпадающего списка дает мне только 5 моих категорий, хотя их создано больше. Почему меня ограничивает выпадающий список, возможно есть где-то настройка чтоб показывать более 5-ти строк из выпадающего списка?

]]>
175720Sat, 17 Apr 2021 13:10:18 +0000
Сортировка запроса https://opencart-forum.ru/topic/184149-sortirovka-zaprosa/ Всем доброго времени суток! Подскажите пожалуйста, как в функции модели можно сделать сразу сортировку по какому-то из параметров, например по p.sort_order
 

public function getProductsByData( $colum = 'isbn', $dt = 1 ) {
        $product_data = array();

        $query = $this->db->query("SELECT p.*, p.product_id AS p_id, p.image AS p_image, pd.name AS pd_name, pd.description AS description, 
                               pd.tag AS tag, pd.meta_title AS m_title, pd.meta_description AS m_description, pd.meta_h1 AS m_h1, p2s.*, m.*, 
                   (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, 
                   (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating 
                               FROM " . DB_PREFIX . "product p 
                               LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) 
                   LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) 
                   LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) 
                   WHERE p.$colum = '" . (int)$dt . "' 
                   AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' 
                   AND p.status = '1' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");


        if( $query->num_rows > 0 ) {

            foreach( $query->rows as $res ) {

                $product_data[] = array(
                    'product_id'      => $res['p_id'],
                    'name'            => $res['pd_name'],
                    'description'     => $res['description'],
                    'tag'             => $res['tag'],
                    'title'           => $res['m_title'],
                    'm_description'   => $res['m_description'],
                    'm_h1'            => $res['m_h1'],
                    'model'           => $res['model'],
                    'ean'             => $res['ean'],
                    'isbn'            => $res['isbn'],
                    'mpn'             => $res['mpn'],
                    'quantity'        => $res['quantity'],
                    'image'           => $res['p_image'],
                    'price'           => $res['price'],
                    'special'         => $res['special'],
                    'points'          => $res['points'],
                    'weight'          => $res['weight'],
                    'weight_class_id' => $res['weight_class_id'],
                    'length'          => $res['length'],
                    'length_class_id' => $res['length_class_id'],
                    'width'           => $res['width'],
                    'height'          => $res['height'],
                    'subtract'        => $res['subtract'],
                    'minimum'         => $res['minimum'],
                    'rating'          => round($res['rating']),
                    'sort_order'      => $res['sort_order'],
                    'status'          => $res['status'],
                    'date_added'      => $res['date_added'],
                    'date_modified'   => $res['date_modified'],
                    'viewed'          => $res['viewed']
                );
            }

            return $product_data;
        } else {
            return false;
        }
    }

 

]]>
184149Mon, 09 Jan 2023 15:19:11 +0000
Warning: Use of undefined constant OPENCARTFORUM_SERVER - assumed 'OPENCARTFORUM_SERVER' https://opencart-forum.ru/topic/183955-warning-use-of-undefined-constant-opencartforum_server-assumed-opencartforum_server/ Вот такая ошибка в админке на странице модулей..

Warning: Use of undefined constant OPENCARTFORUM_SERVER - assumed 'OPENCARTFORUM_SERVER' (this will throw an Error in a future version of PHP) in /www/wwwroot/gimarket.com.ua/admin/controller/marketplace/promotion.php on line 6

Что ему не нравится?

Может кто подсказать?

]]>
183955Sun, 27 Nov 2022 23:47:08 +0000
2 сайта на одном хостинге, ругается storage https://opencart-forum.ru/topic/184141-2-sayta-na-odnom-hostinge-rugaetsya-storage/ Подскажите пожалуйста, был всегда один сайт на хостинге, сейчас решил создать еще один, но когда установил, то сайт ругается что есть на главной в хостинге папка storage

в файле config.php прописал другой путь папки storage, но все равно ошибка есть

]]>
184141Sun, 08 Jan 2023 13:59:43 +0000
pagination https://opencart-forum.ru/topic/184135-pagination/ подскажите где заменить вот эти символы https://prnt.sc/HQyWBePmKN10

]]>
184135Sat, 07 Jan 2023 20:24:43 +0000
Как можно легко удалить родительскую категорию? https://opencart-forum.ru/topic/184052-kak-mozhno-legko-udalit-roditelskuyu-kategoriyu/ Как можно удалить родительскую категорию без удаления категорий в ней?

Например, на сайте такая структура:

1) Каталог > Куртки > Подкатегория

2) Каталог > Брюки > Подкатегория

Нужно удалить основную категорию "Каталог", чтобы стало вот так:

1) Куртки > Подкатегория

2) Брюки > Подкатегория

Как можно это легко сделать?

]]>
184052Wed, 21 Dec 2022 18:27:29 +0000
вечная проблема с выводом module_id https://opencart-forum.ru/topic/184111-vechnaya-problema-s-vyvodom-module_id/ подскажите пожалуйста как вывести (например в модуле html) ид модуля. что то на подобии такого:

 

$data['sid'] = $setting['module_id'];

 

не работает. поэтому я добавляю скрытое поле в настройки самого модуля куда и записываю id. но это костыльно... как можно побороть эту проблему раз и навсегда? спасибо.

]]>
184111Tue, 03 Jan 2023 11:23:17 +0000
Итого в письме https://opencart-forum.ru/topic/184115-itogo-v-pisme/ Подскажите пожалуйста, где в письме формируется строка итого? 
По этому циклу идёт сразу две строки, всего и итого, а нужно просто вывести стоимость заказа без лишних строк для ссылки оплаты. 
image.png.2d7e2b0f3bb42434e196eb016b885875.png

Заранее благодарен за помощь, слава ЗСУ!

]]>
184115Wed, 04 Jan 2023 12:54:27 +0000
Вывод названия и ссылки главной категории в блоге окстор 3.0.2.0 https://opencart-forum.ru/topic/184118-vyvod-nazvaniya-i-ssylki-glavnoy-kategorii-v-bloge-okstor-3020/ как вывести название и ссылку на категорию в которую входит статья https://prnt.sc/7m-Nuru-iDB- в стандартном модуле блога от окстор 3.0.2.0, например на странице блога https://prnt.sc/fjPCV0Qc2z7t

]]>
184118Wed, 04 Jan 2023 22:42:24 +0000
функция добавления товара в корзину https://opencart-forum.ru/topic/184108-funkciya-dobavleniya-tovara-v-korzinu/ вывожу товары определенных категорий на главной (мобильные, пк, ноутбуки и т.д.)

потребовалось добавить одну из опций к мини карточкам товаров на главной - все ок, но только тогда когда добавляю больше одного модуля с товарами (и они повторяются в одном и втором блоке) - проблема с добавлением. пишет что добавлено в корзину но по факту нет. как только убираю второй блок с товарами (например оставляю блок телефоны) - все ок.

 

добавил отдельную функцию добавления в корзину add2, в которой прописываю даже id модуля (для уникальности, чтобы добавлялся товар из конкретного модуля). Потому что если этого не делать, выбрать товар из модуля Смартфоны, а он есть и модуле Телефоны, тогда возникает конфликт. В общем хочу чтобы добавляло товар из конкретного блока (модуля). Видимо нужно просто поправить функцию в js, но никак не вкурю что не так сделал...

 

твиг:

Прихований текст
<div class="sget_box mini_card_box">
  <h3>{{ heading_title }}</h3>
  <div class="swiper-viewport" id="sget{{ sid }}">
    <div id="carousel_sget{{ sid }}" class="swiper-container">
      <div class="swiper-wrapper">
        {% for product in products %}
          <div class="swiper-slide relative">
            <div class="top10">{{ top10 }}</div>
            <div class="mini_add{{ product.product_id }}sget{{ sid }} product-thumb">
              <div class="image"><a href="{{ product.href }}"><img src="{{ product.thumb }}" alt="{{ product.name }}" class="ani"></a></div>
              <div class="caption">
                <h4><a href="{{ product.href }}">{{ product.name }}</a></h4>
                {% if product.price %}
                <div class="price">
                  {% if not product.special %}
                  <span class="price-new">{{ product.price }}</span>
                  {% else %}
                  <span class="price-new">{{ product.special }}</span> <span class="price-old">{{ product.price }}</span>
                  {% endif %}
                </div>
                {% endif %}
                {% if product.pre1 %}
                <ul class="list-unstyled new_list mpre_box">
                  <li>{{ product.pre1 }}</li>
                  {% if product.pre2 %}<li>{{ product.pre2 }}</li>{% endif %}
                  {% if product.pre3 %}<li>{{ product.pre3 }}</li>{% endif %}
                  {% if product.pre4 %}<li>{{ product.pre4 }}</li>{% endif %}
                </ul>
                {% endif %}
              </div>

              {% if product.options %}
              {% for option in product.options %}
                {% if option.option_id == 13 %}
                  {% if option.type == 'select' %}
                  <div class="form-group{% if option.required %} required{% endif %} cat_option">
                    <select name="option[{{ option.product_option_id }}]" id="input-option{{ option.product_option_id }}" class="form-control ani">
                      {% for option_value in option.product_option_value %}
                      <option value="{{ option_value.product_option_value_id }}">{{ option_value.name }}
                      {% if option_value.price %}
                      ({{ option_value.price_prefix }}{{ option_value.price }})
                      {% endif %} </option>
                      {% endfor %}
                    </select>
                  </div>
                  {% endif %}
                {% endif %}
              {% endfor %}
              {% endif %}

              <div class="button-group but_box">
                <input type="hidden" name="product_id" value="{{ product.product_id }}">
                <input type="hidden" name="quantity" value="{{ product.minimum }}">
                <button type="button" class="add_cart" onclick="cart.add2('{{ product.product_id }}', 'sget{{ sid }}');">{{ button_cart }}</button>
                <span class="dop_but">
                  <button type="button" data-toggle="tooltip" title="{{ button_compare }}" onclick="compare.add('{{ product.product_id }}');"><img src="/image/catalog/icons/compare.png"></button>
                  <button type="button" data-toggle="tooltip" title="{{ button_wishlist }}" onclick="wishlist.add('{{ product.product_id }}');"><img src="/image/catalog/icons/like.png"></button>
                </span>
              </div>
            </div>
          </div>
        {% endfor %}
      </div>
    </div>
    <div class="swiper-pagination carousel_sget{{ sid }}"></div>
    <div class="swiper-pager hidden">
      <div class="swiper-button-next"></div>
      <div class="swiper-button-prev"></div>
    </div>
  </div>
  <script type="text/javascript">
    $('#carousel_sget{{ sid }}').swiper({
      mode: 'horizontal',
      slidesPerView: 4,
      pagination: '.carousel_sget{{ sid }}',
      paginationClickable: true,
      nextButton: '.swiper-button-next',
      prevButton: '.swiper-button-prev',
      autoplay: 10000,
      speed: 2500,
      spaceBetween: 75,
      pauseOnMouseEnter: true,
      dynamicBullets: true,
      loop: false
    });
  </script>
</div>

 

 

 

контроллер:

Прихований текст
<?php
class ControllerExtensionModuleBycategory extends Controller {
public function index($setting) {
	$this->load->model('catalog/product');
	$this->load->model('catalog/category');
	$this->load->model('tool/image');
	
		$data['products'] = array();

		$data['category_info'] = $this->model_catalog_category->getCategory($setting['category_id']);
		if($data['category_info']){
			$data['heading_title'] = $data['category_info']['name'];
		}else{
			$data['heading_title'] = '';
		}

		$data['sid'] = $setting['category_id'];
		
		if($data['category_info']){
			$data['catimag'] = $this->model_tool_image->resize($data['category_info']['image'], $this->config->get('theme_' . $this->config->get('config_theme') . '_image_popup_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_popup_height'));
		}else{
			$data['catimag'] = $this->model_tool_image->resize('placeholder.png', $this->config->get('theme_' . $this->config->get('config_theme') . '_image_popup_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_popup_height'));
		}


		$data['category_link'] = $this->url->link('product/category', 'path=' . $setting['category_id'],'SSL');

		$results = $this->model_catalog_product->getProductsByCategory($setting['category_id'],$setting['limit']);
		//echo $setting['category_id'];
		foreach ($results as $result) {
			if ($result['image']) {
				$image = $this->model_tool_image->resize($result['image'], $setting['width'], $setting['height']);
			} else {
				$image = false;
			}


			if ((float)$result['price']) {
				$mrp_percentage = round(100 - (($result['price']*100) / $result['price']));
			} else {
				$mrp_percentage = false;
			}
			
			if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
				$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')),$this->session->data['currency']);
			} else {
				$price = false;
			}
					
			if ((float)$result['special']) {
				$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')),$this->session->data['currency']);
			} else {
				$special = false;
			}
			
			if ($this->config->get('config_review_status')) {
				$rating = $result['rating'];
			} else {
				$rating = false;
			}
			
			if ((float)$result['special']) {
				$special_percentage = round(100 - (($result['special']*100) / $result['price']));
			} else {
				$special_percentage = false;
			}

			$options = array();

			foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) {
				$product_option_value_data = array();

				foreach ($option['product_option_value'] as $option_value) {
					if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) {
						if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) {
							$opt_price = $this->currency->format($this->tax->calculate($option_value['price'], $result['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']);
						} else {
							$opt_price = false;
						}

						$product_option_value_data[] = array(
							'product_option_value_id' => $option_value['product_option_value_id'],
							'option_value_id'         => $option_value['option_value_id'],
							'name'                    => $option_value['name'],
							'image'                   => $this->model_tool_image->resize($option_value['image'], 50, 50),
							'price'                   => $opt_price,
							'price_prefix'            => $option_value['price_prefix']
						);
					}
				}

				$options[] = array(
					'product_option_id'    => $option['product_option_id'],
					'product_option_value' => $product_option_value_data,
					'option_id'            => $option['option_id'],
					'name'                 => $option['name'],
					'type'                 => $option['type'],
					'value'                => $option['value'],
					'required'             => $option['required']
				);
			}
		
			$data['products'][] = array(
				'name' 			=> utf8_substr(strip_tags(html_entity_decode($result['name'], ENT_QUOTES, 'UTF-8')), 0, 50),
				'product_id' 	=> $result['product_id'],
				'model' 		=> $result['model'],
				'description' 	=> html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'),
				'thumb'   	 	=> $image,
				'price'   	 	=> $price,
				'rating'     	=> $rating,
				'special' 	 	=> $special,
				'special_percentage' =>$special_percentage,
				'pre1'          => $result['sku'],
				'pre2'          => $result['upc'],
				'pre3'          => $result['ean'],
				'pre4'          => $result['jan'],
				'options'       => $options,
				'href'     	 	=> $this->url->link('product/product', 'product_id=' . $result['product_id'],'SSL')
			);
		}
			return $this->load->view('extension/module/bycategory', $data);
	}
    
function friendlyURL($string){
	$string = preg_replace("`\[.*\]`U","",$string);
	$string = preg_replace('`&(amp;)?#?[a-z0-9]+;`i','-',$string);
	$string = htmlentities($string, ENT_COMPAT, 'utf-8');
	$string = preg_replace( "`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig|quot|rsquo);`i","\\1", $string );
	$string = preg_replace( array("`[^a-z0-9]`i","`[-]+`") , "-", $string);
	return strtolower(trim($string, '-'));
}
}
?>

 

 

 

новая функция в common.js

Прихований текст
'add2': function(product_id, prefix) {
		$.ajax({
			url: 'index.php?route=checkout/cart/add',
			type: 'post',
			data: $('.mini_add'+product_id+''+prefix+' input[type=\'text\'], .mini_add'+product_id+''+prefix+' input[type=\'hidden\'], .mini_add'+product_id+''+prefix+' input[type=\'radio\']:checked, .mini_add'+product_id+''+prefix+' input[type=\'checkbox\']:checked, .mini_add'+product_id+''+prefix+' select, .mini_add'+product_id+''+prefix+' textarea'),
			dataType: 'json',
			beforeSend: function() {
				$('#cart > button').button('loading');
			},
			complete: function() {
				$('#cart > button').button('reset');
			},
			success: function(json) {
				$('.alert-dismissible, .text-danger').remove();

				if (json['redirect']) {
					location = json['redirect'];
				}

				if (json['success']) {
					$('#content').parent().before('<div class="alert alert-success alert-dismissible"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">&times;</button></div>');

					$('.cart_num').html('<div class="flex3">' + json['total'] + '</div>');

					$('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);
			}
		});
	},

 

 

 

 

 

]]>
184108Mon, 02 Jan 2023 08:39:39 +0000
Как изменить размер кеш-картинки товара с 1000 px на 590 https://opencart-forum.ru/topic/184083-kak-izmenit-razmer-kesh-kartinki-tovara-s-1000-px-na-590/ В карточке товара когда кликаешь на картинку её размер в кеше 1000рх.
Поставщик дает картинки 590. Поэтому хочу изменить, чтобы в кеш сохранялась картинка не 1000рх а 590рх.
Подскажите, пожалуйста, как изменить?
У меня ocstore 3

]]>
184083Tue, 27 Dec 2022 19:32:36 +0000
вывод категорий в шапке (окстор) https://opencart-forum.ru/topic/184107-vyvod-kategoriy-v-shapke-okstor/ в стандартном оксторе 3.0.2.0 есть вывод выбранных категорий в шапке, но у меня какой то треш.

 

вне зависимости что я отметил тут https://prnt.sc/mWLQzpr3-3r6 выводит сразу все категории. в бд все ок https://prnt.sc/q6HLrd2leXTf 

 

но на сайте выводит все категории игнорируя отмеченный пункт для топа https://prnt.sc/Wcy11Rp61sQ9 выяснил что для сайта всегда топ выводит значение 1 при любом раскладе.

 

контроллер:

 

$categories = $this->model_catalog_category->getCategories(0);

		foreach ($categories as $category) {
			if ($category['top']) {
				// Level 2
				$children_data = array();

				$children = $this->model_catalog_category->getCategories($category['category_id']);

				foreach ($children as $child) {
					$filter_data = array(
						'filter_category_id'  => $child['category_id'],
						'filter_sub_category' => true
					);

					$children_data[] = array(
						'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
						'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
					);
				}

				// Level 1
				$data['categories'][] = array(
					'sid'	   => $category['category_id'],
					'name'     => $category['name'],
					'children' => $children_data,
					'column'   => $category['column'] ? $category['column'] : 1,
					'href'     => $this->url->link('product/category', 'path=' . $category['category_id'])
				);
			}
		}

 

 

твиг:

{% if categories %}
    {% for category in categories %}
        {% if category.children %}
                {% if category.sid == 59 %}
                    <a href="{{ category.href }}" class="gl_cat"><span><img src="/image/catalog/icons/katalog.svg"> {{ category.name }}</span></a>
                {% else %}
                    <a href="{{ category.href }}" class="gl_cat"><span>{{ category.name }}</span></a>
                {% endif %}
                {% for children in category.children|batch(category.children|length / category.column|round(1, 'ceil')) %}
                {% for child in children %}
                    <a href="{{ child.href }}" class="rod_cat"><span>{{ child.name }}</span></a>
                {% endfor %}
                {% endfor %}
        {% else %}
            <a href="{{ category.href }}" class="gl_cat"><span>{{ category.name }}</span></a>
        {% endif %}
    {% endfor %}
{% endif %} 

 

 

модель:

public function getCategories($parent_id = 0) {
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "'  AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)");

		return $query->rows;
	}

 

 

проблему решил так:

контроллер:

$categories = $this->model_catalog_category->get_menu_top(0);

		foreach ($categories as $category) {
			if ($category['top']) {
				// Level 2
				$children_data = array();

				$children = $this->model_catalog_category->get_menu_top($category['category_id']);

				foreach ($children as $child) {
					$filter_data = array(
						'filter_category_id'  => $child['category_id'],
						'filter_sub_category' => true
					);

					$children_data[] = array(
						'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
						'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
					);
				}

				// Level 1
				$data['categories'][] = array(
					'sid'	   => $category['category_id'],
					'name'     => $category['name'],
					'children' => $children_data,
					'column'   => $category['column'] ? $category['column'] : 1,
					'href'     => $this->url->link('product/category', 'path=' . $category['category_id'])
				);
			}
		}

 

модель:

public function get_menu_top($parent_id = 0) {
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "'  AND c.status = '1' AND c.top = '1' ORDER BY c.sort_order, LCASE(cd.name)");

		return $query->rows;
	}

 

но все же интересно, это баг окстора или что?

]]>
184107Sun, 01 Jan 2023 11:50:03 +0000
последние добавленные товары из конкретной категории https://opencart-forum.ru/topic/184106-poslednie-dobavlennye-tovary-iz-konkretnoy-kategorii/ в стандартном опенкарте есть модуль - новинки / latest 

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

]]>
184106Sun, 01 Jan 2023 08:51:22 +0000
Кнопка "Добавить в корзину" не работает Открыть корзину https://opencart-forum.ru/topic/184097-knopka-dobavit-v-korzinu-ne-rabotaet-otkryt-korzinu/ Просто я оставил открытую корзину Добавить в корзину кнопку внутри модели начальной загрузки, и я пытаюсь добавить продукт в корзину, но кнопка не работает

]]>
184097Thu, 29 Dec 2022 15:47:11 +0000
При вході на сайт опенкарт видає помилку не дає авторизуватись ! Допоможіть вже все перепробував і пароль міняв https://opencart-forum.ru/topic/184088-pri-vhodi-na-sayt-openkart-vidaye-pomilku-ne-daye-avtorizuvatis-dopomozhit-vzhe-vse-pereprobuvav-i-parol-minyav/  

image.png.f60dc64ff0c10422cf17add428e76762.png

]]>
184088Wed, 28 Dec 2022 19:43:26 +0000
Пропуск товаров с отсутствующим изображением по ссылке при импорте с xml. https://opencart-forum.ru/topic/184089-propusk-tovarov-s-otsutstvuyuschim-izobrazheniem-po-ssylke-pri-importe-s-xml/ Добрый день.
Поставщик даёт прайс в xml в котором на все товары изображения передаются по ссылке. Но есть ссылки которые на выходе не имеют изображения и opencart не воспринимает это как отсутствующее изображение и грузит товар. Товары на которые нет ссылки на изображение он понимает и закрывает своей заглушкой..  Эти товары можно отсортировать и потом отключить или предварительно фильтровать при импорте..
Как можно отфильтровать товары в которых ссылки не передают изображение? Это возможно?
Спасибо

]]>
184089Thu, 29 Dec 2022 01:04:48 +0000