afwollis

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

Рекомендуемые сообщения

afwollis    1 097

Мод прайс-листа 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;
}

Скачать

Изменено пользователем afwollis

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
remix8080    6

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

А подскажите, как можно сделать 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 у меня немного отличается.)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Magi    0

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 097

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Vetal    53

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 097

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Vetal    53

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 097

спасибо, учту в будущей версии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
AndreyN    0

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

Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 097

дублей нет.

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
trance    75

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chungachguk    0

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 097

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
jobba    0

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

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 097

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
DADy    5

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 097

Как упорядочить товары по 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
DADy    5

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 097

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
DADy    5

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 097

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
DADy    5

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

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

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

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. Как их вставить туда, а не ресайзить при генерации страницы, а то если много будет товаров, тормозить будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 097

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chungachguk    0

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 097

catalog/controller/common/wpricelist.php

protected function getCategories($parent_id, $current_path = '') {

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу