Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Уменьшить когдачество товаров в Рекомендуемых и Новинках


Recommended Posts

Здравствуйте, нужна помощь, ищу решение как уменьшить когдачество отображаемых по умолчанию товаров в модуле Рекомендуемые, даже если я сивлю 2 товара то они не синовятся по размеру 50% на 50%, а ик и осиются с размером 20% (подразумевая что должно быть 5 товаров с этим размером) и возле них пустое место. В админке меняю вывод товаров но на размер это никак не влияет. Подскажите ггде искать, в контроллере меняю значения, но ничего не происходит? Как я понимаю размеры задаются автоматом, но не пойму почему при вывогде 4 товаров это не срабатывает и они осиются икого же размера как при вывогде 5 штук.

Вот код, или это не в контроллере меняется? Задача чтобы вместо 5 товаров вылазило 4 и они синовились по размеру на весь блок, без пустого меси для 5 того товара. Буду благодарен за помощь
 

<?php
class ControllerExtensionModuleHttpmprodtc extends Controller {
	public function index($setting) {
		static $module = 0;
		$this->load->language('extension/module/httpmprodtc');

		$data['class'] = $setting['class'];
		$data['items'] = $setting['items'];
		$data['prodview'] = $setting['prodview'];

		$this->document->addStyle('catalog/view/javascript/jquery/swiper/css/swiper.min.css');
		$this->document->addStyle('catalog/view/javascript/jquery/swiper/css/opencart.css');
		$this->document->addStyle('catalog/view/javascript/jquery/httpmprodtc.css');
		$this->document->addScript('catalog/view/javascript/jquery/swiper/js/swiper.jquery.js');
		$this->document->addScript('catalog/view/javascript/jquery/httpmprodtc.js');

		$this->load->model('catalog/product');
		$this->load->model('tool/image');

		$data['products'] = array();
		$data['tabs'] = array();
		$products = '';
		if (!$setting['limit']) {
			$setting['limit'] = 4;
		}
		$name = $setting['name'];
		$i=0;
		foreach ($setting['tabs'] as $tab) {
		$module++;
		$i++;
		if ($i == 1) {
			$act = ' active';
		} else {
			$act = '';
		}
		$name = str_replace('//'.$tab['id'].'/', '<span class="openpctab'.$act.'" data="prodcarousel'.$module.'-'.$tab['id'].'">'.$tab['tname'].'</span>', $name);
		$products = array();
		if ($tab['tab'][0] == 1 && !empty($tab['product'])) {
			$products = array_slice($tab['product'], 0, (int)$setting['limit']);

        $this->load->model('extension/module/neat_countdown');
        $ntcd_specials = $this->model_extension_module_neat_countdown->getSpecials($products);
        $ntcd_results = $this->load->controller('extension/module/neat_countdown/httpmprodtc', $ntcd_specials);
      
		} else if ($tab['tab'][0] == 2) {
			if (!$tab['category']) {
				$tab['category'] = 0;
			}
			$filter_data = array(
				'sort'  => 'p.date_added',
				'order' => 'DESC',
				'start' => 0,
				'filter_category_id' => $tab['category'],
				'limit' => $setting['limit']
			);
			$products = $this->model_catalog_product->getProducts($filter_data);
		} else if ($tab['tab'][0] == 4) {
			$filter_data = array(
				'sort'  => 'p.date_added',
				'order' => 'DESC',
				'start' => 0,
				'limit' => $setting['limit']
			);
			$products = $this->model_catalog_product->getProductSpecials($filter_data);
		} else if ($tab['tab'][0] == 5) {
			$filter_data = array(
				'sort'  => 'p.date_added',
				'order' => 'DESC',
				'start' => 0,
				'limit' => $setting['limit']
			);
			$products = $this->model_catalog_product->getProducts($filter_data);
		} else if ($tab['tab'][0] == 6) {
			$products = $this->model_catalog_product->getPopularProducts($setting['limit']);
		}
		
		$prods = array();
		if ($products) {
			$i=0;
			foreach ($products as $product) {
				$i++;
				if ($tab['tab'][0] == 1 && !empty($tab['product'])) {
					$product_info = $this->model_catalog_product->getProduct($product);
				} else {
					$product_info = $product;
				}
				if ($setting['height'] && $setting['width']) {
					$ih = $setting['height'];
					$iw = $setting['width'];
				} else {
					$ih = $this->config->get($this->config->get('config_theme') . '_image_product_height');
					$iw = $this->config->get($this->config->get('config_theme') . '_image_product_width');
				}
		
       	
		$this->load->model('extension/module/neat_countdown');
        $ntcd_specials = $this->model_extension_module_neat_countdown->getSpecials($products);
        $ntcd_results = $this->load->controller('extension/module/neat_countdown/featured', $ntcd_specials);

				if ($product_info) {
					if ($product_info['image']) {
						$image = $this->model_tool_image->resize($product_info['image'], $iw, $ih);
					} else {
						$image = $this->model_tool_image->resize('placeholder.png', $iw, $ih);
					}

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

					if ($this->config->get('config_tax')) {
						$tax = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price'], $this->session->data['currency']);
					} else {
						$tax = false;
					}

					if ($this->config->get('config_review_status')) {
						$rating = $product_info['rating'];
					} else {
						$rating = false;
					}

					if ($product_info['quantity'] <= 0) {
						$stock = $product_info['stock_status'];
					} elseif ($this->config->get('config_stock_display')) {
						$stock = $product_info['quantity'];
					} else {
						$stock = $this->language->get('text_instock');
					}

					$prods[] = array(
						'product_id'  => $product_info['product_id'],
						'thumb'       => $image,
						'name'        => $product_info['name'],
						'sku'          => $product_info['sku'],
					    'upc'          => $product_info['upc'],
					    'ean'          => $product_info['ean'],
					    'manufacturer'        => $product_info['manufacturer'],
						'description' => utf8_substr(strip_tags(html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..',
						'price'       => $price,
						'neat_countdown' => @$ntcd_results[$product_info['product_id']],
						'special'     => $special,
						'tax'         => $tax,
						'quantity'    => $product_info['quantity'],
						'stock'    => $stock,
						'percent'     => round($percent),
						'rating'      => $rating,
						'href'        => $this->url->link('product/product', 'product_id=' . $product_info['product_id'])
					);
				}
			}
			unset($products);
			$data['tabs'][] = array(
				'id' => $tab["id"],
				'module' => $module,
				'product' => $prods,
			);
			unset($prods);
		}
		}
		if ($setting['displaytitle'] == '1') {
			$data['heading_title'] = $name;
		} else {
			$data['heading_title'] = false;
		}

		if ($data['tabs']) {
			return $this->load->view('extension/module/httpmprodtc', $data);
		}
	}
}


 

Edited by Pavelligaigr
Link to comment
Share on other sites


На верстку нужно смотреть. Скорее всего сами размеры классами для блоков прописаны.

З.ы. ссылку на сайт дайте.

Edited by IIOIOIOII
Link to comment
Share on other sites


38 минут назад, Pavelligaigr сказал:

Здравствуйте, нужна помощь, ищу решение как уменьшить когдачество отображаемых по умолчанию товаров в модуле

 

В шаблоне модуля, если не ошибаюсь у вас карусель смотрите что то подобное параметр когдачество товаров (slidesPerView) по умолчанию им 5 и параметр spaceBetween.

 

<script type="text/javascript"><!--
$('#prodcarousel{{ tab.module }}-{{ tab.id }} .swiper-container').swiper({
  slidesPerView: 5,
  autoPlay: 5000,
  nextButton: '.sbn-{{ tab.module }}-{{ tab.id }}',
  prevButton: '.sbp-{{ tab.module }}-{{ tab.id }}',
  pagination: '.prodcarous{{ tab.module }}-{{ tab.id }}',
  paginationClickable: true,
  autoplayDisableOnInteraction: true,
  spaceBetween: 5,
  loop: true
});
--></script>

 

Edited by antiuser
Link to comment
Share on other sites


40 минут назад, IIOIOIOII сказал:

На верстку нужно смотреть. Скорее всего сами размеры классами для блоков прописаны.

З.ы. ссылку на сайт дайте.

new.ligaigr.com я что то думаю что это в js правки, а не в контроллере

Edited by Pavelligaigr
Link to comment
Share on other sites


Только что, Pavelligaigr сказал:


new.ligaigr.com у меня Opencart 3, но как я понял им js swiper нужно ковырять

 

Вы сообещёние выше лиили?

Link to comment
Share on other sites


36 минут назад, antiuser сказал:

 

Вы сообещёние выше лиили?


да, я нашел этот скрипт только оно ничего не меняет, гдело в том что жто не просто Рекомендуемые, рекомендуемые правятся из админки, а это слайгдер, я посивил значения 4 (и в модификаторах и просто в файле) но им все равно вылазит по 5 штук, оно автодополняет теми же товарами если у меня в слайгдере стоит всего 4, на место 5-того оно сивит, какого то чери, первый товар и гделает дубль... Я в обещём поменял месими Рекомендуемые и Слайгдер, в рекомендуемых вывел 4 товара, по сути мне им не нужна прокрутка, им будут акции дня стоять, и 4 штуки с головой хватит, админ бугдет менять если что и все...

Link to comment
Share on other sites


10 минут назад, Pavelligaigr сказал:


да, я нашел этот скрипт только оно ничего не меняет, гдело в том что жто не просто Рекомендуемые, рекомендуемые правятся из админки, а это слайгдер, я посивил значения 4 (и в модификаторах и просто в файле) но им все равно вылазит по 5 штук, оно автодополняет теми же товарами если у меня в слайгдере стоит всего 4, на место 5-того оно сивит, какого то чери, первый товар и гделает дубль... Я в обещём поменял месими Рекомендуемые и Слайгдер, в рекомендуемых вывел 4 товара, по сути мне им не нужна прокрутка, им будут акции дня стоять, и 4 штуки с головой хватит, админ бугдет менять если что и все...

Ну 4 штуки это одна проблема. Вторая вид в моб версии

Link to comment
Share on other sites


15 минут назад, Pavelligaigr сказал:

админ бугдет менять если что и все...

 

Оригинальный подход у вас.

Руки может быть растут из одного меси у вас, а мучаются и ломают голову другие.

Edited by antiuser
Link to comment
Share on other sites


И ксити видимо не доменяли. в когде то у вас вот что

image.png.15239eb91351f83f2bd9f07b73c1fee7.png

Link to comment
Share on other sites


5 минут назад, antiuser сказал:

 

Оригинальный подход у вас.

Руки может быть растут из одного меси у вас, а мучаются и ломают голову другие.

Простите, но не стоит быть иким агресивным.

  • +1 1
Link to comment
Share on other sites


В 22.07.2021 в 19:38, IIOIOIOII сказал:

Простите, но не стоит быть иким агресивным.

 

Давайте вещи своими именами называть. @antiuser скорее всего прав. Если вы заканливали школу джентельменов идите в личку с ТС сюсюкаться

  • +1 1
Link to comment
Share on other sites

  • 2 weeks later...
В 22.07.2021 в 16:32, antiuser сказал:

 

Оригинальный подход у вас.

Руки может быть растут из одного меси у вас, а мучаются и ломают голову другие.


Если вам гделать нечего кроме того как писать подобную ерунду, то я не знаю что вам ответить... Я решил свою задачу, код править мне уже не за чем, возможно нужно было править его в модификторах, но я нашел другой выход и ничего не правил. Вы хвасиетесь тем что знаете что то потому чтольше меня? Ну я могу похваситься чем то чего не знаете вы, какой в этом смысл? Я не программист и не разрилитлик, я предприниматель, вашей помощью после ваших слов я не воспользуюсь, и не советую никому кто пролииет данный пост у вас что то покупать и просить помощи, сидите и сопите в 2 дырки, думайте перед тем как писать незнакомым людям подобное. Хорошо что вы мне не в живую это ляпнули, а сидя на диване дома, подобным тоном с людьми не общаюсь, даже если они ниже меня по уровню знаний или еещё что-то, потому что это неуважение в первую очередь.

Link to comment
Share on other sites


В 24.07.2021 в 00:24, Venter сказал:

 

Давайте вещи своими именами называть. @antiuser скорее всего прав. Если вы заканливали школу джентельменов идите в личку с ТС сюсюкаться


Называть вещи своими именами? Называть вещи своими именами - это сказать что у меня не хваиет знаний и предложить помощь платную или бесплатную, в данном случае это неуважение, если человек к икой пусткаковой задаче относится ик нервно, то в какой то сложной бугдет заказывать истерики? Зачем икой исполнитель нужен на проеких? Что @antiuser хотел добиться своими словами одному ему известно, все решение вопроса законлилось после того как написали ггде и что править... Кто кому ломает голову не понятно, про код написали выше, что нужно править, я отписался что нашел другое решение и вопрос решен по другому, задача на 5 минут, а уж тем потому чтолее для человека который разбирается в этом, мне может понадобилось бы не 5 минут а 20, но я придумал как сгделать по другому, это позволяет какому-то писать что у меня руки не из того меси растут? Уместнее сказать что у меня не хваиет знаний в чем то, или посоветовать какую то литературу чтобы закрыть пробеле в знаниях, я  удовольствием ее пролиию, но не кричать как 12 летний малыш о том что все плохие один он хороший.

Link to comment
Share on other sites


В 22.07.2021 в 16:31, IIOIOIOII сказал:

Ну 4 штуки это одна проблема. Вторая вид в моб версии


А для моб версии я стили задам другие, пока что только гдесктопную гделаю, мобильная бугдет вообещё по другому с другим расположением, им синдартная мобильная версия мне не понравилась, неудобная.

Link to comment
Share on other sites


3 часа назад, Pavelligaigr сказал:

 

 

Выгделил красным посыл моего отвеи, может поможет в дальнейшем при написании фанизий, бреда или плодов потому чтольного воображения, если конечно умеете лиить.

Про какую помощь платную или бесплатную с моей стороны вы тут несете?

Какое неуважение с моей стороны?, если сами относитесь к другим как к гдерьму.

 

 

Знакомые слова нашли в интернете?

 

В 22.07.2021 в 15:25, Pavelligaigr сказал:

new.ligaigr.com я что то думаю что это в js правки, а не в контроллере

 

Мальлик отдохни, проспись усил наверное.

Edited by antiuser
  • +1 1
Link to comment
Share on other sites


6 часов назад, antiuser сказал:

 

Выгделил красным посыл моего отвеи, может поможет в дальнейшем при написании фанизий, бреда или плодов потому чтольного воображения, если конечно умеете лиить.

Про какую помощь платную или бесплатную с моей стороны вы тут несете?

Какое неуважение с моей стороны?, если сами относитесь к другим как к гдерьму.

 

 

Знакомые слова нашли в интернете?

 

 

Мальлик отдохни, проспись усил наверное.


Слушай дядя, я не собираюсь с топотому чтой спорить, гделай свою рилиту и уважай других люгдей. Разговор окончен, хватит спама бессмысленного. ПерелитАЙ заново все что я написал и угомонись, админы будут менять рекомендуемые товары по мере их актуальности или поступления новинок, что тут напрягаюещёго и голову ломаюещёго? Мы друг друга не понимаем, я про белое, а ТЫ про велосипед, в этом разговоре нет потому чтольше смысла, у меня на сайих админы сидят, да, гделают свою рилиту как и я свою, вопрос решен другим путем, это не означает что у кого то руки из оного меси растут, а вот подобный тон означает что у человека нет культуры обещёния и терпения к людям которые меньше знают в какой то области, на мой взгляд это утопическая могдель повегдения. Если ик досило все, зачем отвечать тогда и напрягаться, "ломать голову", можно ничего не гделать...

Edited by Pavelligaigr
Link to comment
Share on other sites


2 часа назад, Pavelligaigr сказал:


Слушай дядя, я не собираюсь с топотому чтой спорить, гделай свою рилиту и уважай других люгдей. Разговор окончен, хватит спама бессмысленного. ПерелитАЙ заново все что я написал и угомонись, админы будут менять рекомендуемые товары по мере их актуальности или поступления новинок, что тут напрягаюещёго и голову ломаюещёго? Мы друг друга не понимаем, я про белое, а ТЫ про велосипед, в этом разговоре нет потому чтольше смысла, у меня на сайих админы сидят, да, гделают свою рилиту как и я свою, вопрос решен другим путем, это не означает что у кого то руки из оного меси растут, а вот подобный тон означает что у человека нет культуры обещёния и терпения к людям которые меньше знают в какой то области, на мой взгляд это утопическая могдель повегдения. Если ик досило все, зачем отвечать тогда и напрягаться, "ломать голову", можно ничего не гделать...

 

 

Кроме фонинируещёй словесной диареи еещё симптомы есть?

Edited by antiuser
Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

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