Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

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

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

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

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

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

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

Надіслати
Поділитися на інших сайтах

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

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

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

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

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

Надіслати
Поділитися на інших сайтах


7 minutes ago, kwakin said:

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

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

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

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

 

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

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

Змінено користувачем Dimusik
Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах

5 minutes ago, Venter said:

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

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

 

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

 

Змінено користувачем Dimusik
Надіслати
Поділитися на інших сайтах


вот так у меня работает

<?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));
		}
	}
}

 

Змінено користувачем Venter
Надіслати
Поділитися на інших сайтах

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']
					                            );	

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

Надіслати
Поділитися на інших сайтах

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));
		}
	}
}

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

TZw2wuVvgf.png

Надіслати
Поділитися на інших сайтах


вот на скринах то что я вывел, не повторяются опции. спецом скрин продукта опций сделал чтоб сравнил с опциями в категориях

sshot-1.png

sshot-2.png

Надіслати
Поділитися на інших сайтах

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

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

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

Надіслати
Поділитися на інших сайтах

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

 

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

 

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

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

working.png

Змінено користувачем Dimusik
Надіслати
Поділитися на інших сайтах


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

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

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

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

Змінено користувачем Venter
Надіслати
Поділитися на інших сайтах

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

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

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

Надіслати
Поділитися на інших сайтах

вот

{{ 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>

 

Надіслати
Поділитися на інших сайтах


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

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

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

Надіслати
Поділитися на інших сайтах

<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> 
Надіслати
Поділитися на інших сайтах


Должно

Just now, Venter said:

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

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

working.png

Надіслати
Поділитися на інших сайтах


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

Змінено користувачем Dimusik
Надіслати
Поділитися на інших сайтах


 

Спойлер

{{ 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>

 

 

Змінено користувачем Venter
Надіслати
Поділитися на інших сайтах

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

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

 

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

 

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

 

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

888888888.png

Надіслати
Поділитися на інших сайтах


)))) ты труба.... в верхней части ты просто данные привел к целому но не объявил

 

echo (int)$option_value['price'];

 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.