Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

[W] Pricelist [Opencart_v1491-1495, ocStore_017-022]


Recommended Posts

Мод прайс-листа v.0.2

#################################################

# Дополнительные настройки

##############

1. Оформление

Внешний вид прайс-листа можно изменить, поменяв стили оформления для классов

.parent_cat_row ---> класс оформления строк основных категорий
	.sub_cat_row ---> класс оформления строк всех подкатегорий
	.product_row ---> класс оформления строк товаров

Находятся они в файле [=== catalog/view/theme/default/template/common/wpricelist.tpl ===]

<style type="text/css">
			.parent_cat_row {background-color: #336699; color:#FFFFFF;}
			.parent_cat_row a, .parent_cat_row a:visited {font-weight: bold; color:#FFFFFF; text-decoration:underline;}
			.parent_cat_row a:hover {color:#FFFFFF; text-decoration:none;}
			
			.sub_cat_row {background-color: #77AAFF; color:#FFFFFF;}
			.sub_cat_row a, .sub_cat_row a:visited {font-weight: bold; color:#FFFFFF; text-decoration:underline;}
			.sub_cat_row a:hover {color:#FFFFFF; text-decoration:none;}
			
			.product_row {color:#000000;}
			.product_row a, .product_row a:visited {color:#008800; text-decoration:underline;}
			.product_row a:hover {color:#FF0000; text-decoration:none;}
		</style>

*********************************

2. Вывод информации о товаре

Файл [=== catalog/controller/common/wpricelist.php ===]

Строка 143

<td>' . $result['sku'] . ' - ' . $result['model'] . '</td>

По-умолчанию в Прайс-листе выводятся Артикул (sku) и Модель (model) товара.

Оставьте то, что вам больше подходит.

[=== 2011.03.08 ===] Добавление ссылки на прайс-лист в "главное" меню

1.

catalog/controller/common/header.php
после

$this->data['cart'] = HTTP_SERVER . 'index.php?route=checkout/cart';
		$this->data['checkout'] = HTTPS_SERVER . 'index.php?route=checkout/shipping';
добавляем

/* [w]Pricelist - mod - start */
		$this->data['text_wpricelist'] = $this->language->get('text_wpricelist');
		$this->data['wpricelist'] = HTTP_SERVER . 'index.php?route=common/wpricelist';
		/* [w]Pricelist - mod - end */

2.

catalog/language/ВАШ_ЯЗЫК/common/header.php
/* [w]Pricelist */
$_['text_wpricelist'] = 'ТЕКСТ ПО-ВКУСУ';

3.

catalog/view/theme/default/template/common/header.tpl
после

<a href="<?php echo str_replace('&', '&', $checkout); ?>" id="tab_checkout"><?php echo $text_checkout; ?></a>
вставляем

<!-- [w]pricelist - mod - start //--><a href="<?php echo str_replace('&', '&', $wpricelist); ?>" id="tab_wpricelist"><?php echo $text_wpricelist; ?></a><!-- [w]pricelist - mod - end //-->

перед

} else {
			$('#tab_home').addClass('selected');
		}
вставляем

} else if (route == 'common/wpricelist') {
			$('#tab_wpricelist').addClass('selected');

4.

catalog/view/theme/default/stylesheet/stylesheet.css
настраиваем

width
в следующем участке кода

#header .div4 {
	width: 620px;
	clear: right;
	float: right;
	height: 32px;
	padding-right: 14px;
}

Скачать

Edited by afwollis
  • +1 6
Link to post
Share on other sites

Спасибо за полезный модуль!

А подскажите, как можно сделать SEO-ссылку в виде сайт/price вместо сайт/index.php?route=common/wpricelist ?

Кстати, кому интересно...

Для отображения в breadcrumbs Главная > Прайс-лист:

В catalog\controller\common\wpricelist.php

Добавил (по аналогии):

$this->document->breadcrumbs = array();
      	$this->document->breadcrumbs[] = array(
        	'href'      => HTTP_SERVER . 'index.php?route=common/home',
        	'text'      => $this->language->get('text_home'),
        	'separator' => FALSE
      	);
      	$this->document->breadcrumbs[] = array(
        	'href'      => HTTP_SERVER . 'index.php?route=common/wpricelist',
        	'text'      => $this->language->get('heading_title_breadcrumbs'),
        	'separator' => $this->language->get('text_separator')
      	);

heading_title_breadcrumbs - добавленное в языковый файл слово "Прайс-лист" (т.к. heading_title у меня немного отличается.)

Link to post
Share on other sites

Что-то не могу разобраться с CSS, таблица реагирует только на изменение дефолтных строк. Не смог например прописать различные цвета для ссылок в заголовках категорий и ссылок на товары. Например чтобы ссылки на товары всегда были синего цвета, а заголовки категорий и подкатегорий белого.

Link to post
Share on other sites

Модуль адаптировал перед отъездом, поэтому кое-что упустил.

remix8080, спасибо, добавил "хлебные крошки" в новую версию.

Magi, скачайте версию 0.2, там есть стили для товаров и несколько исправлений.

Link to post
Share on other sites

модуль очень понравился. Но как быть если например есть 10000 товаров? было бы неплохо сделать категории и подкатегории свернутыми, которые бы открывались по клику на них с помощью аякс, то есть без перезагрузки страницы. + еще добавить кнопку купить

Link to post
Share on other sites

Думал об этом, но пока нет возможности реализовать такой функционал.

Link to post
Share on other sites

Думал об этом, но пока нет возможности реализовать такой функционал.

вот неплохой пример _inter.if.ua/categories/

может пригодится

Link to post
Share on other sites

Добрый день. Модуль очень классный, спасибо. Есть правда один вопрос, сорри если ламерский, но сам не соображу как сделать. У меня товары входят сразу в несколько категорий и при выводе прайса выходят дубли. Есть ли возможность это исправить? Как вариант, есть ли возможность вывести в прайс только одну категорию?

Спасибо

Link to post
Share on other sites

дублей нет.

на странице товара есть meta-tag "rel=canonical"

там адрес товара "сайт/товар".

Link to post
Share on other sites

Модернизировал немного,

Теперь віводится 2 валюты.

Если чесно, с таблицей не разбирался ибо лень.

post-4567-0-51326400-1298906390_thumb.jpg

Link to post
Share on other sites

можно сделать без проблем.

Скачал ваш модуль. Понравился. Хотелось бы узнать. Есть ли возможность скачивания его со страницы в формате XLS? Или как это можно было сделать?

Уже стоят кое-какие библиотеки Excel для экспорта базы в админке. Может их как-то можно задействовать в этом?

Link to post
Share on other sites

chungachguk, спасибо за интерес к модулю.

В данной версии возможности экспорта прайс-листа в XLS нет.

Но предложение интересное. Учту в следующей версии.

Link to post
Share on other sites

afwollis, спасибо за отличный модуль.

Что хотелось бы:

- красивую seo ссылку

- экспорт в Эксель

- кнопочка "в корзину"

настройку видимости/доступа (удобно давать линк определенным категориям пользователей (например реселлерам) (если это вообще технически возможно)

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

Link to post
Share on other sites

jobba, спасибо за предложения.

рассмотрю при случае.

Link to post
Share on other sites

Честно говоря, не понял как формируется порядок при формировании прайс-листа.

Пробовал менять Id товара, не помогает. Как упорядочить товары по id например?

Link to post
Share on other sites

Как упорядочить товары по id например?

catalog/model/catalog/wpricelist.php
public function getProducts($cat_id = 0) {

$sql_2 = "SELECT *, pd.name AS name, p.image, m.name AS manufacturer, ss.name AS stock, (SELECT AVG(r.rating) FROM " . DB_PREFIX . "review r WHERE p.product_id = r.product_id GROUP BY r.product_id) AS rating FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "stock_status ss ON (p.stock_status_id = ss.stock_status_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2c.category_id = '" . (int)$cat_id . "' ORDER BY LCASE(pd.name) ASC";

поменяйте

ORDER BY LCASE(pd.name) ASC
на

ORDER BY p.product_id ASC
  • +1 1
Link to post
Share on other sites

не помогло :( где-то еще собака зарыта

сорри, вроде заработало, просто вначале отображаются товары, которых нет на складе

Link to post
Share on other sites

так получилось все, что хотели, или еще вопросы есть?

Link to post
Share on other sites

так получилось все, что хотели, или еще вопросы есть?

Да, спасибо, получилось.

Будет ли возможность отображать товар с разными атрибутами и разными ценами соответственно?

Link to post
Share on other sites

Будет ли возможность отображать товар с разными атрибутами и разными ценами соответственно?

а как "смешивать" атрибуты, если их два (или больше) типа и в каждом по несколько вариантов?
Link to post
Share on other sites

а как "смешивать" атрибуты, если их два (или больше) типа и в каждом по несколько вариантов?

вот и я не знаю :)

Сделал колонку с иконками картинок, стало симпатишнее :)

catalog\controller\common\wpricelist.php

95 строка

<td colspan="4" align="center">
заменить на
<td colspan="5" align="center">
155 строка после
<tr class="product_row">
добавить
<td align="center"><img src="image/' . $result['image'] . '" HEIGHT=30 </td>

вот чего получается

вопрос в чем! В кэше валяются уже ресайзнутые картинки, с именем ххх-40х40.jpg. Как их вставить туда, а не ресайзить при генерации страницы, а то если много будет товаров, тормозить будет.

Link to post
Share on other sites

если товар уже набит и значительных изменений не предвидится - можно добавить работу с кэшем.

Link to post
Share on other sites
  • 2 weeks later...

chungachguk, спасибо за интерес к модулю.

В данной версии возможности экспорта прайс-листа в XLS нет.

Но предложение интересное. Учту в следующей версии.

Не могли бы Вы подсказать мне где формируется прайс-лист Вашего модуля, чтобы в последствии из него можно было бы сформировать XLS-файл?
Link to post
Share on other sites

catalog/controller/common/wpricelist.php

protected function getCategories($parent_id, $current_path = '') {
Link to post
Share on other sites

Create an account or sign in to comment

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

Create an account

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

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

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