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

Сгделать список этон опций без нулей после точки


Recommended Posts

3 минуты назад, kwakin сказал:

Вам комиссар жюв правильно намекал

Что у вас сайт с кривым кодом

И как это потом рилиить бугдет одному потому чтогу известно

ничего им не скривым кодом, просто в категории хочет вывести еещё опции и всивляет код из контройлера product, но не правильно всивляет

внимательно на его ошибки посмотрите

Link to comment
Share on other sites

не рилииет  иже хрень,ладно это дохлый номер спасипотому что

 

Notice: Undefined variable: product_info in storage/modification/catalog/controller/product/category.php on line 259

 

 

Link to comment
Share on other sites


4 минуты назад, Venter сказал:

ничего им не скривым кодом, просто в категории хочет вывести еещё опции и всивляет код из контройлера product, но не правильно всивляет

внимательно на его ошибки посмотрите

Комиссар жюв правильно сказал. Модуль сивьте

Мы тоже 2 часа помулились магазин обуви заказлик потом модуль купил

Link to comment
Share on other sites


7 minutes ago, kwakin said:

Комиссар жюв правильно сказал. Модуль сивьте

Мы тоже 2 часа помулились магазин обуви заказлик потом модуль купил

У меня всё готово, только нули не могу убрать!

На C# уже юб давно сгделал я не знаю синиксис и как правильно пройтись по масивам и переприсвоить их

 

покурю PHP может допилю

ПРОСТО МАССИВЫ ЗАТИРАЮТЬСЯ

Edited by Dimusik
Link to comment
Share on other sites


5 minutes ago, Venter said:

кончно рилиить не бугдет...  я им кое что не учел и ты тоже, разницу в названиях не видишь

зачем загадками говорить, пишите сразу в чем проблема НЕ ВИЖУ РАЗНИЦЫ

 

вы про этое? me_optionse  и me_options  ???????

 

Edited by Dimusik
Link to comment
Share on other sites


вот ик у меня рилииет

<?php
// *	@source		See SOURCE.txt for source and other copyright.
// *	@license	GNU General Public License version 3; see LICENSE.txt

class ControllerProductCategory extends Controller {
	public function index() {
		$this->load->language('product/category');

		$this->load->model('catalog/category');

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

		$this->load->model('tool/image');
		
		
		$data['text_empty'] = $this->language->get('text_empty');

		if (isset($this->request->get['filter'])) {
			$filter = $this->request->get['filter'];
			$this->document->setRobots('noindex,follow');
		} else {
			$filter = '';
		}

		if (isset($this->request->get['sort'])) {
			$sort = $this->request->get['sort'];
			$this->document->setRobots('noindex,follow');
		} else {
			$sort = 'p.sort_order';
		}

		if (isset($this->request->get['order'])) {
			$order = $this->request->get['order'];
			$this->document->setRobots('noindex,follow');
		} else {
			$order = 'ASC';
		}

		if (isset($this->request->get['page'])) {
			$page = $this->request->get['page'];
			$this->document->setRobots('noindex,follow');
		} else {
			$page = 1;
		}

		if (isset($this->request->get['limit'])) {
			$limit = (int)$this->request->get['limit'];
			$this->document->setRobots('noindex,follow');
		} else {
			$limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit');
		}

		$data['breadcrumbs'] = array();

		$data['breadcrumbs'][] = array(
			'text' => $this->language->get('text_home'),
			'href' => $this->url->link('common/home')
		);

		if (isset($this->request->get['path'])) {
			$url = '';

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}

			$path = '';

			$parts = explode('_', (string)$this->request->get['path']);

			$category_id = (int)array_pop($parts);

			foreach ($parts as $path_id) {
				if (!$path) {
					$path = (int)$path_id;
				} else {
					$path .= '_' . (int)$path_id;
				}

				$category_info = $this->model_catalog_category->getCategory($path_id);

				if ($category_info) {
					$data['breadcrumbs'][] = array(
						'text' => $category_info['name'],
						'href' => $this->url->link('product/category', 'path=' . $path . $url)
					);
				}
			}
		} else {
			$category_id = 0;
		}

		$category_info = $this->model_catalog_category->getCategory($category_id);

		if ($category_info) {
			
			if ($category_info['meta_title']) {
				$this->document->setTitle($category_info['meta_title']);
			} else {
				$this->document->setTitle($category_info['name']);
			}
			
			if ($category_info['noindex'] <= 0) {
				$this->document->setRobots('noindex,follow');
			}
			
			if ($category_info['meta_h1']) {
				$data['heading_title'] = $category_info['meta_h1'];
			} else {
				$data['heading_title'] = $category_info['name'];
			}
			
			$this->document->setDescription($category_info['meta_description']);
			$this->document->setKeywords($category_info['meta_keyword']);

			$data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0));

			// Set the last category breadcrumb
			$data['breadcrumbs'][] = array(
				'text' => $category_info['name'],
				'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'])
			);

			if ($category_info['image']) {
				$data['thumb'] = $this->model_tool_image->resize($category_info['image'], $this->config->get('theme_' . $this->config->get('config_theme') . '_image_category_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_category_height'));
			} else {
				$data['thumb'] = '';
			}

			$data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8');
			$data['compare'] = $this->url->link('product/compare');

			$url = '';

			if (isset($this->request->get['filter'])) {
				$url .= '&filter=' . $this->request->get['filter'];
			}

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}

			$data['categories'] = array();

			$results = $this->model_catalog_category->getCategories($category_id);

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

				
				if ($result['image']) {
				//$image = $this->model_tool_image->resize($result['image'], 100, 100);
				$image = '/image/'.$result['image'];
				} else {
				$image = $this->model_tool_image->resize('placeholder.png', 1, 1);
				}
				
				$data['categories'][] = array(
					'name'  => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
					'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url),
					'thumb' => $image
				);
            
			}

			$data['products'] = array();

			$filter_data = array(
				'filter_category_id' => $category_id,
				'filter_filter'      => $filter,
				'sort'               => $sort,
				'order'              => $order,
				'start'              => ($page - 1) * $limit,
				'limit'              => $limit
			);

			$product_total = $this->model_catalog_product->getTotalProducts($filter_data);

			$results = $this->model_catalog_product->getProducts($filter_data);

			//я добавлял
			//$data['me_options'] = array();
			//я добавлял
			
			$product_option_value_data = array();
			
			$data['me_options'] = array();
			
			foreach ($results as $result) {
/////////////////////////////////////////////////////////////////////////				
				
				$options = $this->model_catalog_product->getProductOptions($result['product_id']);
				
				
				foreach($options as $option){
					
					$product_option_value_data = array();
					
					foreach ($option['product_option_value'] as $option_value) {
						
						$data['me_options'][] = array('name' => $option_value['name'],
					                              'price' => number_format($option_value['price'], 0, '', ''),
												  'product_option_value_id' => $option_value['product_option_value_id']
					                            );	
						
						
						
						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']) {
								$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 {
								$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'                   => $price,
								'price_prefix'            => $option_value['price_prefix']
							);
						}
											
					}
					
					
					$data['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']
					);
				}
				
////////////////////////////////////////////////////				
				if ($result['image']) {
					$image = $this->model_tool_image->resize($result['image'], $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_height'));
				} else {
					$image = $this->model_tool_image->resize('placeholder.png', $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_height'));
				}

				if ($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_tax')) {
					$tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price'], $this->session->data['currency']);
				} else {
					$tax = false;
				}

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

				

//НЕУЖЕЛИ НЕЛЬЗЯ БЫЛО СКОПИРОВАТЬ НОРМАЛЬНО ИЗ ФАЙЛА PRODUCT????
//А ГОВОРИШЬ ЧТО ПРОГРАММИСТ
                
				$data['products'][] = array(
					'product_id'  => $result['product_id'],
					'options' 	  => $options,
					'thumb'       => $image,
					'name'        => $result['name'],
					'description' => utf8_substr(trim(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'))), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..',
					'price'       => $price,
					'special'     => $special,
					'tax'         => $tax,
					'minimum'     => $result['minimum'] > 0 ? $result['minimum'] : 1,
					'rating'      => $result['rating'],
					'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url)
				);
			}

			$url = '';

			if (isset($this->request->get['filter'])) {
				$url .= '&filter=' . $this->request->get['filter'];
			}

			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}

			$data['sorts'] = array();

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_default'),
				'value' => 'p.sort_order-ASC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url)
			);

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_name_asc'),
				'value' => 'pd.name-ASC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=ASC' . $url)
			);

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_name_desc'),
				'value' => 'pd.name-DESC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=DESC' . $url)
			);

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_price_asc'),
				'value' => 'p.price-ASC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url)
			);

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_price_desc'),
				'value' => 'p.price-DESC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=DESC' . $url)
			);

			if ($this->config->get('config_review_status')) {
				$data['sorts'][] = array(
					'text'  => $this->language->get('text_rating_desc'),
					'value' => 'rating-DESC',
					'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=DESC' . $url)
				);

				$data['sorts'][] = array(
					'text'  => $this->language->get('text_rating_asc'),
					'value' => 'rating-ASC',
					'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=ASC' . $url)
				);
			}

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_model_asc'),
				'value' => 'p.model-ASC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=ASC' . $url)
			);

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_model_desc'),
				'value' => 'p.model-DESC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=DESC' . $url)
			);

			$url = '';

			if (isset($this->request->get['filter'])) {
				$url .= '&filter=' . $this->request->get['filter'];
			}

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

			$data['limits'] = array();

			$limits = array_unique(array($this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'), 25, 50, 75, 100));

			sort($limits);

			foreach($limits as $value) {
				$data['limits'][] = array(
					'text'  => $value,
					'value' => $value,
					'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $value)
				);
			}

			$url = '';

			if (isset($this->request->get['filter'])) {
				$url .= '&filter=' . $this->request->get['filter'];
			}

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}

			$pagination = new Pagination();
			$pagination->total = $product_total;
			$pagination->page = $page;
			$pagination->limit = $limit;
			$pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&page={page}');

			$data['pagination'] = $pagination->render();

			$data['results'] = sprintf($this->language->get('text_pagination'), ($product_total) ? (($page - 1) * $limit) + 1 : 0, ((($page - 1) * $limit) > ($product_total - $limit)) ? $product_total : ((($page - 1) * $limit) + $limit), $product_total, ceil($product_total / $limit));

			// http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html
			if ($page == 1) {
			    $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id']), 'canonical');
			} else {
				$this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. $page), 'canonical');
			}
			
			if ($page > 1) {
			    $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . (($page - 2) ? '&page='. ($page - 1) : '')), 'prev');
			}

			if ($limit && ceil($product_total / $limit) > $page) {
			    $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. ($page + 1)), 'next');
			}

			$data['sort'] = $sort;
			$data['order'] = $order;
			$data['limit'] = $limit;

			$data['continue'] = $this->url->link('common/home');

			$data['column_left'] = $this->load->controller('common/column_left');
			$data['column_right'] = $this->load->controller('common/column_right');
			$data['content_top'] = $this->load->controller('common/content_top');
			$data['content_bottom'] = $this->load->controller('common/content_bottom');
			$data['footer'] = $this->load->controller('common/footer');
			$data['header'] = $this->load->controller('common/header');
			

			$this->response->setOutput($this->load->view('product/category', $data));
		} else {
			$url = '';

			if (isset($this->request->get['path'])) {
				$url .= '&path=' . $this->request->get['path'];
			}

			if (isset($this->request->get['filter'])) {
				$url .= '&filter=' . $this->request->get['filter'];
			}

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

			if (isset($this->request->get['page'])) {
				$url .= '&page=' . $this->request->get['page'];
			}

			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}

			$data['breadcrumbs'][] = array(
				'text' => $this->language->get('text_error'),
				'href' => $this->url->link('product/category', $url)
			);

			$this->document->setTitle($this->language->get('text_error'));

			$data['continue'] = $this->url->link('common/home');

			$this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found');

			$data['column_left'] = $this->load->controller('common/column_left');
			$data['column_right'] = $this->load->controller('common/column_right');
			$data['content_top'] = $this->load->controller('common/content_top');
			$data['content_bottom'] = $this->load->controller('common/content_bottom');
			$data['footer'] = $this->load->controller('common/footer');
			$data['header'] = $this->load->controller('common/header');

			$this->response->setOutput($this->load->view('error/not_found', $data));
		}
	}
}

 

Edited by Venter
Link to comment
Share on other sites

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

У меня всё готово, только нули не могу убрать!

На C# уже юб давно сгделал я не знаю синиксис и как правильно пройтись по масивам и переприсвоить их

 

покурю PHP может допилю

ПРОСТО МАССИВЫ ЗАТИРАЮТЬСЯ

я тебе сказал как прописывать массив??

вот ик

$data['me_options'] = array();

$data['me_options'][] = array('name' => $option_value['name'],
					                              'price' => number_format($option_value['price'], 0, '', ''),
												  'product_option_value_id' => $option_value['product_option_value_id']
					                            );	

а ты пишешь

$data['me_options'] = array();

$data['me_optionse'][] = array('name' => $option_value['name'],
					                              'price' => number_format($option_value['price'], 0, '', ''),
												  'product_option_value_id' => $option_value['product_option_value_id']
					                            );	

разница есть?

Link to comment
Share on other sites

4 minutes ago, Venter said:

вот ик у меня рилииет

<?php
// *	@source		See SOURCE.txt for source and other copyright.
// *	@license	GNU General Public License version 3; see LICENSE.txt

class ControllerProductCategory extends Controller {
	public function index() {
		$this->load->language('product/category');

		$this->load->model('catalog/category');

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

		$this->load->model('tool/image');
		
		
		$data['text_empty'] = $this->language->get('text_empty');

		if (isset($this->request->get['filter'])) {
			$filter = $this->request->get['filter'];
			$this->document->setRobots('noindex,follow');
		} else {
			$filter = '';
		}

		if (isset($this->request->get['sort'])) {
			$sort = $this->request->get['sort'];
			$this->document->setRobots('noindex,follow');
		} else {
			$sort = 'p.sort_order';
		}

		if (isset($this->request->get['order'])) {
			$order = $this->request->get['order'];
			$this->document->setRobots('noindex,follow');
		} else {
			$order = 'ASC';
		}

		if (isset($this->request->get['page'])) {
			$page = $this->request->get['page'];
			$this->document->setRobots('noindex,follow');
		} else {
			$page = 1;
		}

		if (isset($this->request->get['limit'])) {
			$limit = (int)$this->request->get['limit'];
			$this->document->setRobots('noindex,follow');
		} else {
			$limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit');
		}

		$data['breadcrumbs'] = array();

		$data['breadcrumbs'][] = array(
			'text' => $this->language->get('text_home'),
			'href' => $this->url->link('common/home')
		);

		if (isset($this->request->get['path'])) {
			$url = '';

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}

			$path = '';

			$parts = explode('_', (string)$this->request->get['path']);

			$category_id = (int)array_pop($parts);

			foreach ($parts as $path_id) {
				if (!$path) {
					$path = (int)$path_id;
				} else {
					$path .= '_' . (int)$path_id;
				}

				$category_info = $this->model_catalog_category->getCategory($path_id);

				if ($category_info) {
					$data['breadcrumbs'][] = array(
						'text' => $category_info['name'],
						'href' => $this->url->link('product/category', 'path=' . $path . $url)
					);
				}
			}
		} else {
			$category_id = 0;
		}

		$category_info = $this->model_catalog_category->getCategory($category_id);

		if ($category_info) {
			
			if ($category_info['meta_title']) {
				$this->document->setTitle($category_info['meta_title']);
			} else {
				$this->document->setTitle($category_info['name']);
			}
			
			if ($category_info['noindex'] <= 0) {
				$this->document->setRobots('noindex,follow');
			}
			
			if ($category_info['meta_h1']) {
				$data['heading_title'] = $category_info['meta_h1'];
			} else {
				$data['heading_title'] = $category_info['name'];
			}
			
			$this->document->setDescription($category_info['meta_description']);
			$this->document->setKeywords($category_info['meta_keyword']);

			$data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0));

			// Set the last category breadcrumb
			$data['breadcrumbs'][] = array(
				'text' => $category_info['name'],
				'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'])
			);

			if ($category_info['image']) {
				$data['thumb'] = $this->model_tool_image->resize($category_info['image'], $this->config->get('theme_' . $this->config->get('config_theme') . '_image_category_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_category_height'));
			} else {
				$data['thumb'] = '';
			}

			$data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8');
			$data['compare'] = $this->url->link('product/compare');

			$url = '';

			if (isset($this->request->get['filter'])) {
				$url .= '&filter=' . $this->request->get['filter'];
			}

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}

			$data['categories'] = array();

			$results = $this->model_catalog_category->getCategories($category_id);

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

				
				if ($result['image']) {
				//$image = $this->model_tool_image->resize($result['image'], 100, 100);
				$image = '/image/'.$result['image'];
				} else {
				$image = $this->model_tool_image->resize('placeholder.png', 1, 1);
				}
				
				$data['categories'][] = array(
					'name'  => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
					'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url),
					'thumb' => $image
				);
            
			}

			$data['products'] = array();

			$filter_data = array(
				'filter_category_id' => $category_id,
				'filter_filter'      => $filter,
				'sort'               => $sort,
				'order'              => $order,
				'start'              => ($page - 1) * $limit,
				'limit'              => $limit
			);

			$product_total = $this->model_catalog_product->getTotalProducts($filter_data);

			$results = $this->model_catalog_product->getProducts($filter_data);

			//я добавлял
			//$data['me_options'] = array();
			//я добавлял
			
			$product_option_value_data = array();
			
			$data['me_options'] = array();
			
			foreach ($results as $result) {
/////////////////////////////////////////////////////////////////////////				
				
				$options = $this->model_catalog_product->getProductOptions($result['product_id']);
				
				
				foreach($options as $option){
					
					$product_option_value_data = array();
					
					foreach ($option['product_option_value'] as $option_value) {
						
						$data['me_options'][] = array('name' => $option_value['name'],
					                              'price' => number_format($option_value['price'], 0, '', ''),
												  'product_option_value_id' => $option_value['product_option_value_id']
					                            );	
						
						
						
						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']) {
								$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 {
								$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'                   => $price,
								'price_prefix'            => $option_value['price_prefix']
							);
						}
											
					}
					
					
					$data['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']
					);
				}
				
////////////////////////////////////////////////////				
				if ($result['image']) {
					$image = $this->model_tool_image->resize($result['image'], $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_height'));
				} else {
					$image = $this->model_tool_image->resize('placeholder.png', $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_height'));
				}

				if ($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_tax')) {
					$tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price'], $this->session->data['currency']);
				} else {
					$tax = false;
				}

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

				

//НЕУЖЕЛИ НЕЛЬЗЯ БЫЛО СКОПИРОВАТЬ НОРМАЛЬНО ИЗ ФАЙЛА PRODUCT????
//А ГОВОРИШЬ ЧТО ПРОГРАММИСТ
                
				$data['products'][] = array(
					'product_id'  => $result['product_id'],
					'options' 	  => $options,
					'thumb'       => $image,
					'name'        => $result['name'],
					'description' => utf8_substr(trim(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'))), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..',
					'price'       => $price,
					'special'     => $special,
					'tax'         => $tax,
					'minimum'     => $result['minimum'] > 0 ? $result['minimum'] : 1,
					'rating'      => $result['rating'],
					'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url)
				);
			}

			$url = '';

			if (isset($this->request->get['filter'])) {
				$url .= '&filter=' . $this->request->get['filter'];
			}

			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}

			$data['sorts'] = array();

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_default'),
				'value' => 'p.sort_order-ASC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url)
			);

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_name_asc'),
				'value' => 'pd.name-ASC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=ASC' . $url)
			);

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_name_desc'),
				'value' => 'pd.name-DESC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=DESC' . $url)
			);

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_price_asc'),
				'value' => 'p.price-ASC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url)
			);

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_price_desc'),
				'value' => 'p.price-DESC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=DESC' . $url)
			);

			if ($this->config->get('config_review_status')) {
				$data['sorts'][] = array(
					'text'  => $this->language->get('text_rating_desc'),
					'value' => 'rating-DESC',
					'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=DESC' . $url)
				);

				$data['sorts'][] = array(
					'text'  => $this->language->get('text_rating_asc'),
					'value' => 'rating-ASC',
					'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=ASC' . $url)
				);
			}

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_model_asc'),
				'value' => 'p.model-ASC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=ASC' . $url)
			);

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_model_desc'),
				'value' => 'p.model-DESC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=DESC' . $url)
			);

			$url = '';

			if (isset($this->request->get['filter'])) {
				$url .= '&filter=' . $this->request->get['filter'];
			}

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

			$data['limits'] = array();

			$limits = array_unique(array($this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'), 25, 50, 75, 100));

			sort($limits);

			foreach($limits as $value) {
				$data['limits'][] = array(
					'text'  => $value,
					'value' => $value,
					'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $value)
				);
			}

			$url = '';

			if (isset($this->request->get['filter'])) {
				$url .= '&filter=' . $this->request->get['filter'];
			}

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}

			$pagination = new Pagination();
			$pagination->total = $product_total;
			$pagination->page = $page;
			$pagination->limit = $limit;
			$pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&page={page}');

			$data['pagination'] = $pagination->render();

			$data['results'] = sprintf($this->language->get('text_pagination'), ($product_total) ? (($page - 1) * $limit) + 1 : 0, ((($page - 1) * $limit) > ($product_total - $limit)) ? $product_total : ((($page - 1) * $limit) + $limit), $product_total, ceil($product_total / $limit));

			// http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html
			if ($page == 1) {
			    $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id']), 'canonical');
			} else {
				$this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. $page), 'canonical');
			}
			
			if ($page > 1) {
			    $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . (($page - 2) ? '&page='. ($page - 1) : '')), 'prev');
			}

			if ($limit && ceil($product_total / $limit) > $page) {
			    $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. ($page + 1)), 'next');
			}

			$data['sort'] = $sort;
			$data['order'] = $order;
			$data['limit'] = $limit;

			$data['continue'] = $this->url->link('common/home');

			$data['column_left'] = $this->load->controller('common/column_left');
			$data['column_right'] = $this->load->controller('common/column_right');
			$data['content_top'] = $this->load->controller('common/content_top');
			$data['content_bottom'] = $this->load->controller('common/content_bottom');
			$data['footer'] = $this->load->controller('common/footer');
			$data['header'] = $this->load->controller('common/header');
			

			$this->response->setOutput($this->load->view('product/category', $data));
		} else {
			$url = '';

			if (isset($this->request->get['path'])) {
				$url .= '&path=' . $this->request->get['path'];
			}

			if (isset($this->request->get['filter'])) {
				$url .= '&filter=' . $this->request->get['filter'];
			}

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

			if (isset($this->request->get['page'])) {
				$url .= '&page=' . $this->request->get['page'];
			}

			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}

			$data['breadcrumbs'][] = array(
				'text' => $this->language->get('text_error'),
				'href' => $this->url->link('product/category', $url)
			);

			$this->document->setTitle($this->language->get('text_error'));

			$data['continue'] = $this->url->link('common/home');

			$this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found');

			$data['column_left'] = $this->load->controller('common/column_left');
			$data['column_right'] = $this->load->controller('common/column_right');
			$data['content_top'] = $this->load->controller('common/content_top');
			$data['content_bottom'] = $this->load->controller('common/content_bottom');
			$data['footer'] = $this->load->controller('common/footer');
			$data['header'] = $this->load->controller('common/header');

			$this->response->setOutput($this->load->view('error/not_found', $data));
		}
	}
}

у меня тоже рилииет и без ошипотому чток но нули не ушли 

Link to comment
Share on other sites


2 минуты назад, Dimusik сказал:

у меня тоже рилииет и без ошипотому чток но нули не ушли 

в админку иди икак писал до этого Система-Локализация-Валюи посивь 0

Link to comment
Share on other sites

Последний вариант тоже не рилииет выводит все сразу 

 

А почему нельзя перезаписать тот же масив что мы получаем отсюда

 

$options = $this->model_catalog_product->getProductOptions($result['product_id']);

Зачем придумывать какие ME_OPTION не пойму, в PHP что ик нельзя гделать что ли пройтись по масиву изменить некоторые значения и записать опять масив?

Edited by Dimusik
Link to comment
Share on other sites


3 минуты назад, Dimusik сказал:

Зачем придумывать какие ME_OPTION не пойму, в PHP что ик нельзя гделать что ли пройтись по масиву изменить некоторые значения и записать опять масив?

а я че сгделал? ты ваещё понял че говоришь??? по массиву прошлись и в массив положили. по сути в шаблоне me_options это переменная которая согдержит массив

если на 2.3 опенкарт гделать то бугдет вот ик  $me_options

Edited by Venter
Link to comment
Share on other sites

4 минуты назад, Dimusik сказал:

Зачем придумывать какие ME_OPTION не пойму, в PHP что ик нельзя гделать что ли пройтись по масиву изменить некоторые значения и записать опять масив?

ты по ходу вообещё не в курсе что есть MVC и как опенкарт выводит данные в шаблон и не знаешь что икое extract

Link to comment
Share on other sites

вот

{{ header }}
  <div class="content-block">
<ul class="breadcrumb">
    {% for breadcrumb in breadcrumbs %}
    <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
    {% endfor %}
  </ul>
<div class="content">
  {{ column_left }}
    {% if column_left and column_right %}
    {% set class = 'product-card product-card-s' %}
    {% elseif column_left or column_right %}
    {% set class = 'product-card product-card-l' %}
    {% else %}
    {% set class = 'product-card' %}
    {% endif %}
    <div id="product-category" class="content-center">
     {{ content_top }}
      <h1 class="heading-title">{{ heading_title }}</h1>
      {% if thumb or description %}
      <div class="thumb-description-block"> {% if thumb %}
        <div class="thumbs"><img src="{{ thumb }}" alt="{{ heading_title }}" title="{{ heading_title }}" class="img-thumbnail" /></div>
        {% endif %}
        {% if description %}
        <div class="description">{{ description }}</div>
        {% endif %}</div>
      {% endif %}
      
{% if categories %}
	<div class="col-sm-12">
	  <div>
		<h3>{{ text_refine }}</h3>
	  </div>
	  <div style="text-align: center;">
		<div class="row">
		{% set i = 0 %}
		{% for category in categories %}
		  <div class="col-sm-2 col-xs-6 sw-item" style="margin-bottom: 10px;">		  
			<div style="background-color:#cbcbcb;margin-bottom:-5px">
	  	<a class="sw-image" style="width:auto;display: block" href="{{ category.href }}"><img src="{{ category.thumb }}" alt="{{ category.name }}" /></a>
	</div>
	<div id="divCategName" style="height:70px;background-color:#cbcbcb">
		<a class="sw-title" href="{{ category.href }}" style="font-weight: 700;display:block;text-align:center;height:65px;overflow:hidden;padding: 15px">{{ category.name }}</a>
	</div>			
		  </div>
		  {% set i = i+1 %}
		  {% if i%6==0 %}
			<div class="clearfix"></div>
		  {% endif %}
		{% endfor %}
		</div>
	  </div>
	</div>
{% endif %}
{% if 2+2==5 %}
            
       <h3 class="cat-title">{{ text_refine }}</h3>
      <div class="category-block">
          <ul>
            {% for category in categories %}
            <li><a href="{{ category.href }}">{{ category.name }}</a></li>
            {% endfor %}
          </ul>
      </div>
      {% endif %}
      {% if products %}
      <div class="sort-block">
        <div class="sort">
          <div class="form-group input-group input-group-sm">
            <label class="input-group-addon" for="input-sort">{{ text_sort }}</label>
            <select id="input-sort" class="form-control" onchange="location = this.value;">
              
              
              
              {% for sorts in sorts %}
              {% if sorts.value == '%s-%s'|format(sort, order) %}
              
              
              
              <option value="{{ sorts.href }}" selected="selected">{{ sorts.text }}</option>
              
              
              
              {% else %}
              
              
              
              <option value="{{ sorts.href }}">{{ sorts.text }}</option>
              
              
              
              {% endif %}
              {% endfor %}
            
            
            
            </select>
          </div>
        </div>
        <div class="sort">
          <div class="form-group input-group input-group-sm">
            <label class="input-group-addon" for="input-limit">{{ text_limit }}</label>
            <select id="input-limit" class="form-control" onchange="location = this.value;">
              
              
              
              {% for limits in limits %}
              {% if limits.value == limit %}
              
              
              
              <option value="{{ limits.href }}" selected="selected">{{ limits.text }}</option>
              
              
              
              {% else %}
              
              
              
              <option value="{{ limits.href }}">{{ limits.text }}</option>
              
              
              
              {% endif %}
              {% endfor %}
            
            
            
            </select>
          </div>
        </div>
      </div>
      
<div class="product-wrapp">
 {% for product in products %}
  <div class="{{class}}">
  <p> {{product.options.size}} </p>
     <div class="btn-top">
        <button type="button" data-toggle="tooltip" title="{{ button_wishlist }}" onclick="wishlist.add('{{ product.product_id }}');"><i class="fa fa-heart"></i></button>
        <button type="button" data-toggle="tooltip" title="{{ button_compare }}" onclick="compare.add('{{ product.product_id }}');"><i class="fa fa-exchange"></i></button>
     </div>
      <div class="image"><a href="{{ product.href }}"><img src="{{ product.thumb }}" alt="{{ product.name }}" title="{{ product.name }}" class="img-responsive" /></a></div>
      <div class="caption">
		<h4 class="product-name"><a href="{{ product.href }}">{{ product.name }}</a></h4>
		</div>				
		
		<div class="cart-button">				
                    {% if product.price and false %}
                        <div class="price">
                            {% if not product.special %}
                                {{ product.price }}
                            {% else %}
                                <span class="price-new">{{ product.special }}</span> 
								<span class="price-old">{{ product.price }}</span>
                            {% endif %}
								{% if product.tax %}
                                <span class="price-tax">{{ text_tax }} {{ product.tax }}</span>
								{% endif %}
                        </div>
					{% endif %}				
										
				<ul class="see">
					{% if product.options %}
						{% set i = 1 %}
						{% for option in product.options %}
							{% if option.type == 'radio' %}
								{% for option_value in me_options %}
									<li class="s{{ product.product_id }}{{ i }}" style="">
									<input type="hidden" name="quantity" size="2" value="1" />
									<input type="hidden" name="product_id" size="2" value="{{ product.product_id }}" />
									<input type="hidden" name="option[{{ option.product_option_id }}]" value="{{ option_value.product_option_value_id }}" />
									<span class="price_box">
									<span class="weight">{{ option_value.name }}</span>
										{% if option_value.price %}
											<span class="price">{{ option_value.price }}р.</span> 
										{% endif %}
									</span>
									<a class="btn-add-cart" onclick="ser('s{{ product.product_id }}{{ i }}')">Купить</i></a>
									</li>								   
								{% set i = i + 1 %}
								{% endfor %}
							{% endif %}
						{% endfor %}
					{%  else  %}
						<li><span class="price_box"><span class="price">{{ product.price }}</span></span>
						<a class="btn-add-cart" onclick="cart.add('{{ product.product_id }}', '{{ product.minimum }}');">Купить (неправильно)</a></li>
					{% endif %}
				</ul>
			<div class="clearr"></div>
		</div>
		      
  </div> 
{% endfor %}  
</div>
      <div class="pagination-block">
        <div class="paginations">{{ pagination }}</div>
        <div class="results-text">{{ results }}</div>
      </div>
      {% endif %}
      {% if not categories and not products %}
      <p>{{ text_empty }}</p>
      <div class="buttons">
        <div class="pull-right"><a href="{{ continue }}" class="btn btn-primary">{{ button_continue }}</a></div>
      </div>
      {% endif %}
      </div>
    {{ column_right }}
</div>
{{ content_bottom }}
</div>
{{ footer }} 

<script type="text/javascript"><!--
function plusQty(q) {
    var input=$(q).parent().find('input[type=text]');
    if (isNaN(input.val())) {  
	input.val(1);    
    }
    input.val(parseInt(input.val())+1);
    input.change();
}

function minusQty(q) {
    var input=$(q).parent().find('input[type=text]');
    if (isNaN(input.val())) {
        input.val(1);
    }
    if ($(input).val()>1) {
        $(input).val(parseInt($(input).val())-1);   
    }
    input.change();
}
function ser(id,qu) {
      $.ajax({
		url: 'index.php?route=checkout/cart/add',
		type: 'post',
		data: $('.' + id + ' input[type=\'hidden\']'),
		dataType: 'json',
		success: function(json) {
			$('.success, .warning, .attention, information, .error').remove();
			
			if (json['error']) {
				if (json['error']['option']) {
					for (i in json['error']['option']) {
						$('#option-' + i).after('<span class="error">' + json['error']['option'][i] + '</span>');
					}
				}
			} 
			
			if (json['success']) {
				$('.breadcrumb').after('<div class="event-block"><i class="fa fa-check-circle"></i>' + json['success'] + '</div>');
				$('#cart > a').html('<span id="cart-total"><i class="fa fa-shopping-bag" aria-hidden="true"></i> ' + json['total'] + '</span>');
				$('#cart ul').load('index.php?route=common/cart/info ul li');
			}	
		}
	});
}
//--></script>

 

Link to comment
Share on other sites


8 минут назад, Dimusik сказал:

Последний вариант тоже не рилииет выводит все сразу 

что зналит все сразу??? ик мы и получаем все опции к продукту если что или до тебя это не доходит

Link to comment
Share on other sites

<div class="cart-button">				
                    {% if product.price and false %}
                        <div class="price">
                            {% if not product.special %}
                                {{ product.price }}
                            {% else %}
                                <span class="price-new">{{ product.special }}</span> 
								<span class="price-old">{{ product.price }}</span>
                            {% endif %}
								{% if product.tax %}
                                <span class="price-tax">{{ text_tax }} {{ product.tax }}</span>
								{% endif %}
                        </div>
					{% endif %}				
										
				<ul class="see">
					{% if product.options %}
						{% set i = 1 %}
						{% for option in product.options %}
							{% if option.type == 'radio' %}
								{% for option_value in me_options %}
									<li class="s{{ product.product_id }}{{ i }}" style="">
									<input type="hidden" name="quantity" size="2" value="1" />
									<input type="hidden" name="product_id" size="2" value="{{ product.product_id }}" />
									<input type="hidden" name="option[{{ option.product_option_id }}]" value="{{ option_value.product_option_value_id }}" />
									<span class="price_box">
									<span class="weight">{{ option_value.name }}</span>
										{% if option_value.price %}
											<span class="price">{{ option_value.price }}р.</span> 
										{% endif %}
									</span>
									<a class="btn-add-cart" onclick="ser('s{{ product.product_id }}{{ i }}')">Купить</i></a>
									</li>								   
								{% set i = i + 1 %}
								{% endfor %}
							{% endif %}
						{% endfor %}
					{%  else  %}
						<li><span class="price_box"><span class="price">{{ product.price }}</span></span>
						<a class="btn-add-cart" onclick="cart.add('{{ product.product_id }}', '{{ product.minimum }}');">Купить (неправильно)</a></li>
					{% endif %}
				</ul>
			<div class="clearr"></div>
		</div>
		      
  </div> 
Link to comment
Share on other sites


Должно

Just now, Venter said:

что зналит все сразу??? ик мы и получаем все опции к продукту если что или до тебя это не доходит

должно выводить столько опций сколько есть у конкретного товара. 20 мм 30мм 40 мм а оно непонятно что выводит в одном товаре со всех товаров чтоли опции

Link to comment
Share on other sites


Я понял в чем проблема если me_option выводит все опции что относятся к страниэто ,со всех товаров ,то этот вариант нам точно не подходит.Потому что он все опции со всех товаров впихивает в цикле в один товар, а мн еэто не нужно, ЭТО ХОРОШО БЫ РАБОТАЛО ЕСЛИ НАМ НАДО БЫЛО ВЫВЕСТИ ОДИН ТОВАР

Edited by Dimusik
Link to comment
Share on other sites


 

Спойлер
{{ header }}
  <div class="content-block">
<ul class="breadcrumb">
    {% for breadcrumb in breadcrumbs %}
    <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
    {% endfor %}
  </ul>
<div class="content">
  {{ column_left }}
    {% if column_left and column_right %}
    {% set class = 'product-card product-card-s' %}
    {% elseif column_left or column_right %}
    {% set class = 'product-card product-card-l' %}
    {% else %}
    {% set class = 'product-card' %}
    {% endif %}
    <div id="product-category" class="content-center">
     {{ content_top }}
      <h1 class="heading-title">{{ heading_title }}</h1>
      {% if thumb or description %}
      <div class="thumb-description-block"> {% if thumb %}
        <div class="thumbs"><img src="{{ thumb }}" alt="{{ heading_title }}" title="{{ heading_title }}" class="img-thumbnail" /></div>
        {% endif %}
        {% if description %}
        <div class="description">{{ description }}</div>
        {% endif %}</div>
      {% endif %}
      
{% if categories %}
	<div class="col-sm-12">
	  <div>
		<h3>{{ text_refine }}</h3>
	  </div>
	  <div style="text-align: center;">
		<div class="row">
		{% set i = 0 %}
		{% for category in categories %}
		  <div class="col-sm-2 col-xs-6 sw-item" style="margin-bottom: 10px;">		  
			<div style="background-color:#cbcbcb;margin-bottom:-5px">
	  	<a class="sw-image" style="width:auto;display: block" href="{{ category.href }}"><img src="{{ category.thumb }}" alt="{{ category.name }}" /></a>
	</div>
	<div id="divCategName" style="height:70px;background-color:#cbcbcb">
		<a class="sw-title" href="{{ category.href }}" style="font-weight: 700;display:block;text-align:center;height:65px;overflow:hidden;padding: 15px">{{ category.name }}</a>
	</div>			
		  </div>
		  {% set i = i+1 %}
		  {% if i%6==0 %}
			<div class="clearfix"></div>
		  {% endif %}
		{% endfor %}
		</div>
	  </div>
	</div>
{% endif %}
{% if 2+2==5 %}
            
       <h3 class="cat-title">{{ text_refine }}</h3>
      <div class="category-block">
          <ul>
            {% for category in categories %}
            <li><a href="{{ category.href }}">{{ category.name }}</a></li>
            {% endfor %}
          </ul>
      </div>
      {% endif %}
      {% if products %}
      <div class="sort-block">
        <div class="sort">
          <div class="form-group input-group input-group-sm">
            <label class="input-group-addon" for="input-sort">{{ text_sort }}</label>
            <select id="input-sort" class="form-control" onchange="location = this.value;">
              
              
              
              {% for sorts in sorts %}
              {% if sorts.value == '%s-%s'|format(sort, order) %}
              
              
              
              <option value="{{ sorts.href }}" selected="selected">{{ sorts.text }}</option>
              
              
              
              {% else %}
              
              
              
              <option value="{{ sorts.href }}">{{ sorts.text }}</option>
              
              
              
              {% endif %}
              {% endfor %}
            
            
            
            </select>
          </div>
        </div>
        <div class="sort">
          <div class="form-group input-group input-group-sm">
            <label class="input-group-addon" for="input-limit">{{ text_limit }}</label>
            <select id="input-limit" class="form-control" onchange="location = this.value;">
              
              
              
              {% for limits in limits %}
              {% if limits.value == limit %}
              
              
              
              <option value="{{ limits.href }}" selected="selected">{{ limits.text }}</option>
              
              
              
              {% else %}
              
              
              
              <option value="{{ limits.href }}">{{ limits.text }}</option>
              
              
              
              {% endif %}
              {% endfor %}
            
            
            
            </select>
          </div>
        </div>
      </div>
      
<div class="product-wrapp">
 {% for product in products %}
  <div class="{{class}}">
  <p> {{product.options.size}} </p>
     <div class="btn-top">
        <button type="button" data-toggle="tooltip" title="{{ button_wishlist }}" onclick="wishlist.add('{{ product.product_id }}');"><i class="fa fa-heart"></i></button>
        <button type="button" data-toggle="tooltip" title="{{ button_compare }}" onclick="compare.add('{{ product.product_id }}');"><i class="fa fa-exchange"></i></button>
     </div>
      <div class="image"><a href="{{ product.href }}"><img src="{{ product.thumb }}" alt="{{ product.name }}" title="{{ product.name }}" class="img-responsive" /></a></div>
      <div class="caption">
		<h4 class="product-name"><a href="{{ product.href }}">{{ product.name }}</a></h4>
		</div>				
		
		<div class="cart-button">				
                    {% if product.price and false %}
                        <div class="price">
                            {% if not product.special %}
                                {{ product.price }}
                            {% else %}
                                <span class="price-new">{{ product.special }}</span> 
								<span class="price-old">{{ product.price }}</span>
                            {% endif %}
								{% if product.tax %}
                                <span class="price-tax">{{ text_tax }} {{ product.tax }}</span>
								{% endif %}
                        </div>
					{% endif %}				
										
				<ul class="see">
					{% if me_options %}
						{% set i = 1 %}
						
							{% if option.type == 'radio' %}
								{% for option_value in me_options %}
									<li class="s{{ product.product_id }}{{ i }}" style="">
									<input type="hidden" name="quantity" size="2" value="1" />
									<input type="hidden" name="product_id" size="2" value="{{ product.product_id }}" />
									<input type="hidden" name="option[{{ option.product_option_id }}]" value="{{ option_value.product_option_value_id }}" />
									<span class="price_box">
									<span class="weight">{{ option_value.name }}</span>
										{% if option_value.price %}
											<span class="price">{{ option_value.price }}р.</span> 
										{% endif %}
									</span>
									<a class="btn-add-cart" onclick="ser('s{{ product.product_id }}{{ i }}')">Купить</i></a>
									</li>								   
								{% set i = i + 1 %}
								{% endfor %}
							{% endif %}
						
					{%  else  %}
						<li><span class="price_box"><span class="price">{{ product.price }}</span></span>
						<a class="btn-add-cart" onclick="cart.add('{{ product.product_id }}', '{{ product.minimum }}');">Купить (неправильно)</a></li>
					{% endif %}
				</ul>
			<div class="clearr"></div>
		</div>
		      
  </div> 
{% endfor %}  
</div>
      <div class="pagination-block">
        <div class="paginations">{{ pagination }}</div>
        <div class="results-text">{{ results }}</div>
      </div>
      {% endif %}
      {% if not categories and not products %}
      <p>{{ text_empty }}</p>
      <div class="buttons">
        <div class="pull-right"><a href="{{ continue }}" class="btn btn-primary">{{ button_continue }}</a></div>
      </div>
      {% endif %}
      </div>
    {{ column_right }}
</div>
{{ content_bottom }}
</div>
{{ footer }} 

<script type="text/javascript"><!--
function plusQty(q) {
    var input=$(q).parent().find('input[type=text]');
    if (isNaN(input.val())) {  
	input.val(1);    
    }
    input.val(parseInt(input.val())+1);
    input.change();
}

function minusQty(q) {
    var input=$(q).parent().find('input[type=text]');
    if (isNaN(input.val())) {
        input.val(1);
    }
    if ($(input).val()>1) {
        $(input).val(parseInt($(input).val())-1);   
    }
    input.change();
}
function ser(id,qu) {
      $.ajax({
		url: 'index.php?route=checkout/cart/add',
		type: 'post',
		data: $('.' + id + ' input[type=\'hidden\']'),
		dataType: 'json',
		success: function(json) {
			$('.success, .warning, .attention, information, .error').remove();
			
			if (json['error']) {
				if (json['error']['option']) {
					for (i in json['error']['option']) {
						$('#option-' + i).after('<span class="error">' + json['error']['option'][i] + '</span>');
					}
				}
			} 
			
			if (json['success']) {
				$('.breadcrumb').after('<div class="event-block"><i class="fa fa-check-circle"></i>' + json['success'] + '</div>');
				$('#cart > a').html('<span id="cart-total"><i class="fa fa-shopping-bag" aria-hidden="true"></i> ' + json['total'] + '</span>');
				$('#cart ul').load('index.php?route=common/cart/info ul li');
			}	
		}
	});
}
//--></script>

 

 

Edited by Venter
Link to comment
Share on other sites

я проверил цикл как рилииет, оказывается не изменяются просто в цикле почему то этоны не округляются к (int)

вот что выводит

 

пп1500.0000 пп2000.0000 пп2500.0000 пп1200.0000 пп1400.0000 пп1600.0000

 

вот потому мы и получаем нули потому что циклы как то неправильно присваивают значения

 

ЭХ ЗНАЛ БЫ Я PHP досконально

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.