Jump to content
Sign in to follow this  
polushkindenis

Автоматические стикеры для Предзаказ, Нет в наличии, В наличии, Скоро в продаже

Recommended Posts

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

Реализовал такую возможность следующим способом.

Шаг №1.

../catalog/controller/product/category.php

Ищем код:

$this->data['products'][] = array(

'product_id' => $result['product_id'],

'thumb' => $image,

'stock_status' => $result['stock_status'], //+++ДОБАВЛЯЕМ ДЛЯ ОТОБРАЖЕНИЯ

'name' => $result['name'],

Шаг №2.

../catalog/view/theme/папка_шаблона/template/product/category.tpl

Ищем код:

...

<?php if ($product['special']) { ?>

<img class="special-tag" src="catalog/view/theme/geccoshop/image/sale.png" alt="Sale" />

<?php } ?>

после него вставляем:

<?php if ($product['stock_status']=="Скоро в продаже") { ?>

<img class="special-tag" src="catalog/view/theme/geccoshop/image/image-1.png" alt="Скоро в продаже" />

<?php } ?>

<?php if ($product['stock_status']=="Предзаказ") { ?>

<img class="special-tag" src="catalog/view/theme/geccoshop/image/image-2.png" alt="Предзаказ" />

<?php } ?>

<?php if ($product['stock_status']=="Нет в наличии") { ?>

<img class="special-tag" src="catalog/view/theme/geccoshop/image/image-3.png" alt="В наличии" />

<?php } ?>

<?php if ($product['stock_status']=="В наличии") { ?>

<img class="special-tag" src="catalog/view/theme/geccoshop/image/image-4.png" alt="Нет в наличии" />

<?php } ?>

Может кому то тоже будет полезно. Я новичок в OpenCart поэтому сильно не критикуйте. Благодарю за внимание.

  • +1 4

Share this post


Link to post
Share on other sites

все сделал как написано. ничего не вышло (((

  • +1 1

Share this post


Link to post
Share on other sites

все сделал как написано. ничего не вышло (((

Какая версия OpenCart?

Share this post


Link to post
Share on other sites

1.5.4.1 Но сборка лажанутая, Макссторовская

Share this post


Link to post
Share on other sites

/category.tpl точно в своем шаблоне правили а не в default?

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

Share this post


Link to post
Share on other sites

для какой версии Opencart описана данная правка?

Share this post


Link to post
Share on other sites

хотелось бы ДЕМО чтобы видеь где выводятся стикеры

Share this post


Link to post
Share on other sites

Была бы полезной функция! Пробовал реализовать - не получается версия ocStore Версия 1.5.5.1.1

Шаблон default

пути поменял с учётом этого, фото стикеров - залил 

 

и по-моему немного наоборот:

<?php if ($product['stock_status']=="Нет в наличии") { ?>
<img class="special-tag" src="catalog/view/theme/default/image/image-3.png" alt="В наличии" />   (Получается: если нету в наличии - показывать стикер, что есть??   :-D )

<?php } ?>

 

В category.tpl такой строки не нашёл, поэтому вкинул после:

 

        <?php if (!$product['special']) { ?>

        <?php echo $product['price']; ?>
        <?php } else { ?>
        <span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
        <?php } ?>
        <?php if ($product['tax']) { ?>
        <br />
        <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
        <?php } ?>
 
Тему предлагаю развивать! Ведь штука полезная! Автору: спасибо за идею - и просьба помочь разобраться - т.к. у меня это дело не пашет. Ждём ссапорта!  :geek:

Share this post


Link to post
Share on other sites
Поправил строку 

<img class="special-tag" src="catalog/view/theme/default/image/image-1.png" alt="Ожидание 2-3 дня" />

<?php } ?>

И наконец - отобразилось! :oops: 

Общем спасибо за идейку! Получилось не хуже AStickers

А может и даже лучше! 

Сейчас буду испытывать на максисторе )  :eek:

Share this post


Link to post
Share on other sites

не подскажете как таким же методом использовать не наличие, а цвета? например если у товара есть доп.цвета - добавить стикер (выбор цвета)???

Share this post


Link to post
Share on other sites

$this->data['products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
'stock_status' => $result['stock_status'], //+++ДОБАВЛЯЕМ ДЛЯ ОТОБРАЖЕНИЯ
'name' => $result['name'],

Когда добавляю белый экран 

Share this post


Link to post
Share on other sites

$this->data['products'][] = array(

'product_id' => $result['product_id'],

'thumb' => $image,

'stock_status' => $result['stock_status'], //+++ДОБАВЛЯЕМ ДЛЯ ОТОБРАЖЕНИЯ

'name' => $result['name'],

Когда добавляю белый экран 

В контроллере продукта или категории?

Share this post


Link to post
Share on other sites

В контроллере продукта или категории?

/catalog/controller/product/category.php

 

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

Share this post


Link to post
Share on other sites

Ну а если ввести stock_status в поиск в модели продукта, есть там что-нибудь? :-)

Share this post


Link to post
Share on other sites

Ну а если ввести stock_status в поиск в данном модели, есть там что-нибудь? :-)

Не понял? Я добавил эту строчку 'stock_status' => $result['stock_status'] между этими строчками 

$this->data['products'][] = array(

'product_id' => $result['product_id'],

'thumb' => $image,

'name' => $result['name'],

Или я не так понял? :( 

Share this post


Link to post
Share on other sites

catalog\model\catalog\product.php вбить в поиск stock_status, что-нибудь найдётся?

Share this post


Link to post
Share on other sites

catalog\model\catalog\product.php вбить в поиск stock_status, что-нибудь найдётся?

(SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");

Вот что нашлось

Share this post


Link to post
Share on other sites

И больше нечего? вот такое например 'stock_status'     => $query->row['stock_status'],

 

php_value display_errors 1

в .htaccess вставить и зайти на страницу категории

Share this post


Link to post
Share on other sites

php_value display_errors 1 в первую строчку надо вставить?Я вставил но все равно белый лист не пишет какие ошибки.

Share this post


Link to post
Share on other sites

php_value display_errors 1 в первую строчку надо вставить?Я вставил но все равно белый лист не пишет какие ошибки.

 

Ну а лог ошибок пустой?

Пишите в личку в общем, ближе к ночи гляну, а то тут опять в гадалки долго играть..

Share this post


Link to post
Share on other sites

Все еще белый экран когда добавляю строчку

'stock_status' => $result['stock_status']

Вот код из category.php

<?php 
class ControllerProductCategory extends Controller {  
	public function index() { 
		$this->language->load('product/category');
		
		$this->load->model('catalog/category');
		
		$this->load->model('catalog/product');
		
		$this->load->model('tool/image'); 
		
		if (isset($this->request->get['filter'])) {
			$filter = $this->request->get['filter'];
		} else {
			$filter = '';
		}

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

		if (isset($this->request->get['order'])) {
			$order = $this->request->get['order'];
		} else {
			$order = 'ASC';
		}
		
		if (isset($this->request->get['page'])) {
			$page = $this->request->get['page'];
		} else { 
			$page = 1;
		}	
							
		if (isset($this->request->get['limit'])) {
			$limit = $this->request->get['limit'];
		} else {
			$limit = $this->config->get('config_catalog_limit');
		}

					
		$this->data['breadcrumbs'] = array();

   		$this->data['breadcrumbs'][] = array(
       		'text'      => $this->language->get('text_home'),
			'href'      => $this->url->link('common/home'),
       		'separator' => false
   		);	
			
		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) {
	       			$this->data['breadcrumbs'][] = array(
   	    				'text'      => $category_info['name'],
						'href'      => $this->url->link('product/category', 'path=' . $path . $url),
        				'separator' => $this->language->get('text_separator')
        			);
				}

			}		
		
			
		} else {
			$category_id = 0;
		}

		
		$category_info = $this->model_catalog_category->getCategory($category_id);
	
		if ($category_info) {
			if ($category_info['seo_title']) {
		  		$this->document->setTitle($category_info['seo_title']);
			} else {
		  		$this->document->setTitle($category_info['name']);
			}

			$this->document->setDescription($category_info['meta_description']);
			$this->document->setKeywords($category_info['meta_keyword']);
			$this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js');
			
			if ($category_info['seo_h1']) {
				$this->data['heading_title'] = $category_info['seo_h1'];
			} else {
				$this->data['heading_title'] = $category_info['name'];
			}
			
			$this->data['text_refine'] = $this->language->get('text_refine');
			$this->data['text_empty'] = $this->language->get('text_empty');			
			$this->data['text_quantity'] = $this->language->get('text_quantity');
			$this->data['text_manufacturer'] = $this->language->get('text_manufacturer');
			$this->data['text_model'] = $this->language->get('text_model');
			$this->data['text_price'] = $this->language->get('text_price');
			$this->data['text_tax'] = $this->language->get('text_tax');
			$this->data['text_points'] = $this->language->get('text_points');
			$this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0));
			$this->data['text_display'] = $this->language->get('text_display');
			$this->data['text_list'] = $this->language->get('text_list');
			$this->data['text_grid'] = $this->language->get('text_grid');
			$this->data['text_sort'] = $this->language->get('text_sort');
			$this->data['text_limit'] = $this->language->get('text_limit');
					
			$this->data['button_cart'] = $this->language->get('button_cart');
			$this->data['button_wishlist'] = $this->language->get('button_wishlist');
			$this->data['button_compare'] = $this->language->get('button_compare');
			$this->data['button_continue'] = $this->language->get('button_continue');
			
			// Set the last category breadcrumb		
			$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['page'])) {
				$url .= '&page=' . $this->request->get['page'];
			}
			
			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}
									
			$this->data['breadcrumbs'][] = array(
				'text'      => $category_info['name'],
				'href'      => $this->url->link('product/category', 'path=' . $this->request->get['path']),
				'separator' => $this->language->get('text_separator')
			);
								
					
			if ($category_info['image']) {
				$this->data['thumb'] = $this->model_tool_image->resize($category_info['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'));
				$this->document->setOgImage($this->data['thumb']);
			} else {
				$this->data['thumb'] = '';
			}
									
			     if ($page == 1) {
                 $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8');
                } else {
                 $this->data['description'] = "";
}
			$this->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'];
			}
								
			$this->data['categories'] = array();
			
			$results = $this->model_catalog_category->getCategories($category_id);
			
			foreach ($results as $result) {
				$data = array(
					'filter_category_id'  => $result['category_id'],
					'filter_sub_category' => true
				);
				
				$product_total = $this->model_catalog_product->getTotalProducts($data);				
				
				$this->data['categories'][] = array(
					'name'  => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
					'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url),
					'thumb' => $this->model_tool_image->resize(($result['image']=='' ? 'no_image.jpg' : $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'))
				);
			}
			
			$this->data['products'] = array();
			
			$data = array(
				'filter_category_id' => $category_id,
				'filter_filter'      => $filter, 
				'sort'               => $sort,
				'order'              => $order,
				'start'              => ($page - 1) * $limit,
				'limit'              => $limit
			);
					
			$results = $this->model_catalog_product->getProducts($data);
			//Вызов метода getFoundProducts должен проводится сразу же после getProducts
			//только тогда он выдает правильное значения количества товаров
			$product_total = $this->model_catalog_product->getFoundProducts(); 
			
			foreach ($results as $result) {
				if ($result['image']) {
					$image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
				} else {
					$image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
				}
				
				if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
					$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
				} 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')));
				} else {
					$special = false;
				}	
				
				if ($this->config->get('config_tax')) {
					$tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']);
				} else {
					$tax = false;
				}				
				
				if ($this->config->get('config_review_status')) {
					$rating = (int)$result['rating'];
				} else {
					$rating = false;
				}
								
				$this->data['products'][] = array(
					'product_id'  => $result['product_id'],
					'thumb'       => $image,
					 'stock_status' => $result['stock_status'],
					'name'        => $result['name'],
					'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..',
					'price'       => $price,
					'special'     => $special,
					'tax'         => $tax,
					'rating'      => $result['rating'],
					'reviews'     => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
					'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'];
			}
										
			$this->data['sorts'] = array();
			
			$this->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)
			);
			
			$this->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)
			);

			$this->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)
			);

			$this->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)
			); 

			$this->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')) {
				$this->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)
				); 
				
				$this->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)
				);
			}
			
			$this->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)
			);

			$this->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'];
			}
			
			$this->data['limits'] = array();
			
	
			$limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100));
			
			sort($limits);
	
			foreach($limits as $limits){
				$this->data['limits'][] = array(
					'text'  => $limits,
					'value' => $limits,
					'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $limits)
				);
			}
			
			$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->text = $this->language->get('text_pagination');
			$pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&page={page}');
		
			$this->data['pagination'] = $pagination->render();
		
			$this->data['sort'] = $sort;
			$this->data['order'] = $order;
			$this->data['limit'] = $limit;
		
			$this->data['continue'] = $this->url->link('common/home');

			if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) {
				$this->template = $this->config->get('config_template') . '/template/product/category.tpl';
			} else {
				$this->template = 'default/template/product/category.tpl';
			}
			
			$this->children = array(
				'common/column_left',
				'common/column_right',
				'common/content_top',
				'common/content_bottom',
				'common/footer',
				'common/header'
			);
				
			$this->response->setOutput($this->render());										
    	} 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'];
			}
						
			$this->data['breadcrumbs'][] = array(
				'text'      => $this->language->get('text_error'),
				'href'      => $this->url->link('product/category', $url),
				'separator' => $this->language->get('text_separator')
			);
				
			$this->document->setTitle($this->language->get('text_error'));

      		$this->data['heading_title'] = $this->language->get('text_error');

      		$this->data['text_error'] = $this->language->get('text_error');

      		$this->data['button_continue'] = $this->language->get('button_continue');

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

			if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) {
				$this->template = $this->config->get('config_template') . '/template/error/not_found.tpl';
			} else {
				$this->template = 'default/template/error/not_found.tpl';
			}
			
			$this->children = array(
				'common/column_left',
				'common/column_right',
				'common/content_top',
				'common/content_bottom',
				'common/footer',
				'common/header'
			);
					
			$this->response->setOutput($this->render());
		}
  	}
}
?>

Share this post


Link to post
Share on other sites

Здравствуйте подскажите пожалуйста все сделал по инструкции, добавил только вот это в тпл: 
 

<?php if ($product['stock_status']=="Нет в наличии") { ?>
<img class="special-tag" src="catalog/view/theme/and_sport/image/net_nalichie.png" alt="В наличии" />
<?php } ?>


Но стикер выводится у всех товаров в независимости от наличия.

Подскажите пожалуйста в чем проблема может быть?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By Medialine
      Для пользователей, у которых в карточке товара не задействованы поля JAN, ISBN, MPN есть отличная возможность пустить их в дело. Преимуществом модуля является то, что пользователь сам может прописать название для стикера, так как в разных группах товара могут быть свои особенности. Так же безусловно плюсом является то, что задействованы типовые поля OpenCart, а значит на сайт не будет никакой дополнительной нагрузки. Модуль тестировался на двух версиях OpenCart: 2.3.0.2 и 3.0.2.0.
      DEMO 2.3.0.2
      DEMO 3.0.2.0
    • By Medialine
      Скачать/Купить дополнение


      Модуль Стикеры
      Для пользователей, у которых в карточке товара не задействованы поля JAN, ISBN, MPN есть отличная возможность пустить их в дело. Преимуществом модуля является то, что пользователь сам может прописать название для стикера, так как в разных группах товара могут быть свои особенности. Так же безусловно плюсом является то, что задействованы типовые поля OpenCart, а значит на сайт не будет никакой дополнительной нагрузки. Модуль тестировался на двух версиях OpenCart: 2.3.0.2 и 3.0.2.0.
      DEMO 2.3.0.2
      DEMO 3.0.2.0
      Добавил Medialine Добавлено 03.01.2019 Категория Меню, дизайн, внешний вид Системные требования Сайт разработчика https://medialine.cc Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3 ocStore 3.0
      2.3 OpenCart.Pro, ocShop Обращение к серверу разработчика  
    • By RGB
      Описание старой версии
      Что это и зачем это нужно
      Простое решение для вывода на картинке товара завлекающего стикера (Новинка, Акция, что-угодно еще). Зачем это - для облегчения выбора покупателю. Не секрет, что в большом каталоге с кучей товаров покупатель теряется, особенно если не ищет что-то конкретное. В таком случае хорошо работают стикеры, показывающие выгоду покупки конкретного товара.
      Тип стикера (акционный, скидочный, подарочный, какой угодно) основан на неиспользуемом поле товара - UPC (обычно там ничего не указывают, в лучшем случае используют поле SKU для хранения артикула). Если же у вас это поле используется, то придется в модуле заменить все упоминания upc на ean например. Стикеры не автоматические, а значит на каждый товар нужно добавлять свой стикер руками.
      Почему автоматические стикеры - не всегда хорошо
      Дело в том, что их применение ограничено тем, что можно автоматически выдрать из базы, а это только "акционность" товара, его новизна или рейтинг, в таком случае нельзя сделать стикер с конкретным размером скидки - например, "Скидка 20%", что будет работать лучше, чем просто стикер "Скидка". Аналогично нельзя сделать рекомендуемые товары по вашему личному усмотрению, или в новинки добавить то, что в магазине уже давно было, или в акции добавить товар, у которого нет стандартной скидки, но с которым вы сами, например, дарите дисконтную карточку. Словом здесь, как и везде, нужен индивидуальный подход к каждому товару.
      Как это работает
      Поскольку мы не хотим менять базу, не создаем никаких новых полей, то будем использовать стандартные поля - я у себя в магазине выбрал поле UPC, потому что оно все равно у всех товаров пустое. Чтобы назначить товару стикер новинки, нужно зайти в админку, открыть нужный товар и на вкладке Данные указать ему в поле UPC код стикера (например, new). Соответственно, у вас должна быть картинка стикера с названием "sticker_new.png", для специальных предложений код будет special (соответственно, картинка "sticker_special.png"), и так далее для любого кода - название картинки стикера должно быть "sticker_код.png".
      Вместе с модулем я добавил 4 картинки стикеров (new, special, top и price - взяты для образца с магазина Розетка, поэтому у себя нарисуйте что-то свое), вы можете добавить то, что нужно именно вам, и нарисовать сколько угодно вариантов стикеров, только не забывайте их коды вбивать в каждый товар в поле UPC. Картинки сохраняйте в каталог \catalog\view\theme\default\image. Если используете стикеры своих размеров, то не забывайте указать их размер в файле стилей дополнения (\catalog\view\theme\default\stylesheet\free_stickers.css), по умолчанию там указан размер тех стикеров, что идут в комплекте - 99х41.
      Стикеры выводятся на странице товара, категории, товаров из поиска, из акций, товаров производителя, модуля "рекомендуемые" и таблицы сравнения. Если хотите добавить вывод в другой модуль - открывайте vqmod-файл и смотрите, как это сделано для модуле "рекомендуемые", суть там везде одинаковая.
      Как устанавливать:
      1) Скопировать файлы дополнения к себе, ничего не должно быть перезаписано, так как используется vqmod
      2) Перейти в админку и нужным товарам в поле UPC указать коды стикеров (не забывайте, что если используете свои коды, нужно создать картинки стикеров с этими кодами, т.к. по умолчанию в дополнении идет 4 картинки стикеров с кодами new, special, top и price).
      Протестировано на стандартном шаблоне версии 1.5.4.1, должно работать и на более старых/новых.
      Пользователям версий новее 1.5.4.1 - возможна проблема с отображением стикеров на карточке товара из-за небольшого изменение в файле product.tpl, решение в теме
      Если шаблон не default и стили к нему лежат не по такому адресу:
      <link rel="stylesheet" type="text/css" href="catalog/view/theme/default/stylesheet/stylesheet.css" />   исправьте в начале vqmod-файла адрес к стилям, чтобы было "catalog/view/theme/ВАШ_ШАБЛОН/stylesheet/stylesheet.css"
      Если у вас сильно измененный шаблон, открывайте vqmod-файл и вручную ищите соответствие кускам кода вашего шаблона. Затрагиваются файлы шаблонов товара, категории, поиска, акций, производителя, сравнения и модуля "рекомендуемые", а также все их контроллеры.
      Если у вас что-то не работает, не надо мне писать в личку с просьбами помочь за плату - я не ищу работу. Пишите в тему с вопросами и терпеливо ждите ответа, или создайте новую в разделе платных услуг.
    • By RGB
      Скачать/Купить дополнение


      Бесплатные простые стикеры
      Описание старой версии
      Что это и зачем это нужно
      Простое решение для вывода на картинке товара завлекающего стикера (Новинка, Акция, что-угодно еще). Зачем это - для облегчения выбора покупателю. Не секрет, что в большом каталоге с кучей товаров покупатель теряется, особенно если не ищет что-то конкретное. В таком случае хорошо работают стикеры, показывающие выгоду покупки конкретного товара.
      Тип стикера (акционный, скидочный, подарочный, какой угодно) основан на неиспользуемом поле товара - UPC (обычно там ничего не указывают, в лучшем случае используют поле SKU для хранения артикула). Если же у вас это поле используется, то придется в модуле заменить все упоминания upc на ean например. Стикеры не автоматические, а значит на каждый товар нужно добавлять свой стикер руками.
      Почему автоматические стикеры - не всегда хорошо
      Дело в том, что их применение ограничено тем, что можно автоматически выдрать из базы, а это только "акционность" товара, его новизна или рейтинг, в таком случае нельзя сделать стикер с конкретным размером скидки - например, "Скидка 20%", что будет работать лучше, чем просто стикер "Скидка". Аналогично нельзя сделать рекомендуемые товары по вашему личному усмотрению, или в новинки добавить то, что в магазине уже давно было, или в акции добавить товар, у которого нет стандартной скидки, но с которым вы сами, например, дарите дисконтную карточку. Словом здесь, как и везде, нужен индивидуальный подход к каждому товару.
      Как это работает
      Поскольку мы не хотим менять базу, не создаем никаких новых полей, то будем использовать стандартные поля - я у себя в магазине выбрал поле UPC, потому что оно все равно у всех товаров пустое. Чтобы назначить товару стикер новинки, нужно зайти в админку, открыть нужный товар и на вкладке Данные указать ему в поле UPC код стикера (например, new). Соответственно, у вас должна быть картинка стикера с названием "sticker_new.png", для специальных предложений код будет special (соответственно, картинка "sticker_special.png"), и так далее для любого кода - название картинки стикера должно быть "sticker_код.png".
      Вместе с модулем я добавил 4 картинки стикеров (new, special, top и price - взяты для образца с магазина Розетка, поэтому у себя нарисуйте что-то свое), вы можете добавить то, что нужно именно вам, и нарисовать сколько угодно вариантов стикеров, только не забывайте их коды вбивать в каждый товар в поле UPC. Картинки сохраняйте в каталог \catalog\view\theme\default\image. Если используете стикеры своих размеров, то не забывайте указать их размер в файле стилей дополнения (\catalog\view\theme\default\stylesheet\free_stickers.css), по умолчанию там указан размер тех стикеров, что идут в комплекте - 99х41.
      Стикеры выводятся на странице товара, категории, товаров из поиска, из акций, товаров производителя, модуля "рекомендуемые" и таблицы сравнения. Если хотите добавить вывод в другой модуль - открывайте vqmod-файл и смотрите, как это сделано для модуле "рекомендуемые", суть там везде одинаковая.
      Как устанавливать:
      1) Скопировать файлы дополнения к себе, ничего не должно быть перезаписано, так как используется vqmod
      2) Перейти в админку и нужным товарам в поле UPC указать коды стикеров (не забывайте, что если используете свои коды, нужно создать картинки стикеров с этими кодами, т.к. по умолчанию в дополнении идет 4 картинки стикеров с кодами new, special, top и price).
      Протестировано на стандартном шаблоне версии 1.5.4.1, должно работать и на более старых/новых.
      Пользователям версий новее 1.5.4.1 - возможна проблема с отображением стикеров на карточке товара из-за небольшого изменение в файле product.tpl, решение в теме
      Если шаблон не default и стили к нему лежат не по такому адресу:
      <link rel="stylesheet" type="text/css" href="catalog/view/theme/default/stylesheet/stylesheet.css" />   исправьте в начале vqmod-файла адрес к стилям, чтобы было "catalog/view/theme/ВАШ_ШАБЛОН/stylesheet/stylesheet.css"
      Если у вас сильно измененный шаблон, открывайте vqmod-файл и вручную ищите соответствие кускам кода вашего шаблона. Затрагиваются файлы шаблонов товара, категории, поиска, акций, производителя, сравнения и модуля "рекомендуемые", а также все их контроллеры.
      Если у вас что-то не работает, не надо мне писать в личку с просьбами помочь за плату - я не ищу работу. Пишите в тему с вопросами и терпеливо ждите ответа, или создайте новую в разделе платных услуг.
      Добавил RGB Добавлено 31.05.2013 Категория Модули Системные требования Сайт разработчика https://mnmkr.com Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 1.5.4.1
      1.5.3.1 ocStore 1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Не проверялось Обращение к серверу разработчика Нет  
  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.