Сортировка товаров в прайс-листе

Статус
В этой теме нельзя размещать новые ответы.

mytrance

Постоялец
Регистрация
15 Дек 2007
Сообщения
347
Реакции
120
Не нравилось мне, что по умолчанию товары в прайс-листе отображаются в хаотичном неотсортированном порядке. Для устранения этого недостатка изменил ссылку на прайс-лист в /templates/frontend/tmplXX/index.tpl.html
с /index.php?show_price=yes
на /index.php?show_price=yes&sort=name&direction=ASC

Для того, чтобы при печати товары так же были отсортированы по наименованию, в /templates/frontend/tmplXX/pricelist.tpl.html
заменил
HTML:
<td><a href="javascript:open_printable_version('printable.php?show_price=yes');"><img src="images/printer-icon.gif" border=0 alt="{$smarty.const.STRING_PRINTABLE_VERSION}"></a></td>
<td><a href="javascript:open_printable_version('printable.php?show_price=yes');">{$smarty.const.STRING_PRINTABLE_VERSION}</a></td>
на
HTML:
<td><a href="javascript:open_printable_version('printable.php?show_price=yes&sort=name&direction=ASC');"><img src="images/printer-icon.gif" border=0 alt="{$smarty.const.STRING_PRINTABLE_VERSION}"></a></td>
<td><a href="javascript:open_printable_version('printable.php?show_price=yes&sort=name&direction=ASC');">{$smarty.const.STRING_PRINTABLE_VERSION}</a></td>

Все работает. Но при печати прайса почему то названия категорий перестали выделяться фоновым цветом. Причём на дисплее названия категорий выделены. Не могу догнать в чем причина.

Кто в курсе как поправить?
 
уффф....я сейчас попробовал и у меня не печатает...и вообще пол интернет магазина не видно при выводе на печать...нет картинок...цветов и т.д... аж плохо стало...:nezn: а потом зашел в настроки печати страницы (в настройках браузера) и поставил ПЕЧАТАТЬ ФОН СТРАНИЦЫ.... И ВСЕ СТАЛО ОК! Посмотри у себя!!! Может галочки не стоит и ничего при печати не видно.
 
уффф....я сейчас попробовал и у меня не печатает...и вообще пол интернет магазина не видно при выводе на печать...нет картинок...цветов и т.д... аж плохо стало...:nezn: а потом зашел в настроки печати страницы (в настройках браузера) и поставил ПЕЧАТАТЬ ФОН СТРАНИЦЫ.... И ВСЕ СТАЛО ОК! Посмотри у себя!!! Может галочки не стоит и ничего при печати не видно.
Да весь магазин меня не так сильно интересует. А вот прайс приходится печатать часто, и не только мне... Каждому не объяснишь, что что-то там в настройках браузера менять надо....

При стандартных настройках с printable.php?show_price=yes печатает нормально, а с printable.php?show_price=yes&sort=name&direction=ASC - фона нет. Даже не могу представить где ковырять нужно... :bc:
 
я не понимаю почему у тебя с printable.php?show_price=yes печатает нормально.. у меня и там не выводит...
 
я не понимаю почему у тебя с printable.php?show_price=yes печатает нормально.. у меня и там не выводит...
Может ты не правильно меня понял... я говорю о фоновом цвете названий категорий. По умолчанию они выделяются цветом, заданном в админке. Ниже на скрине к примеру он серый (на дисплее), а при печати на бумаге - цвета нет, т.е белый фон.
 

Вложения

  • SNAG-0001.gif
    SNAG-0001.gif
    72,3 KB · Просмотры: 22
Правильно я тебя понял...зашел сейчас на твой сайт (p.s. красиво, мне понравился), так вот и попробовал зайти в прайс и распечатать, та же фигня с задним фоном! И мне кажется это не исправить т.к. ты один черт будешь использовать переменную bgcolor и видимо по умолчанию браузеры заточены на то, что б при выводе на печать отключать фоновые данные... Это мое мнение, хотя может я и не прав... Может можно попробовать выводить через css и тогда все будет ок... Но опять, же надо искать какой файл отвечает за переменную bgcolor=#{$pricelist_elements[3]} т.к. если ее просто заменить на bgcolor=#FF0000 то перестает работать деление на цвета категорий... И все становится красным.....
 
А вот как быть если на прайсе включена сортировка товаров?

Строчку я то внес правельную и в индекс и в .htaccess

Вот её пример
RewriteRule ^price_sortirovka_imya_A-Z_0-9.html$ index.php?show_price=yes&sort=name&direction=ASC [L]

и соотвецтвенно

$FURLs = preg_replace('/index.php\?show_price=yes\&sort=name\&direction=ASC/i', 'price_sortirovka_imya_A-Z_0-9.html', $FURLs);
----------------------------------------------------------

Но этот вариант работает только для 1 (первой страницы) как быть если страниц прайса несколько.

Думаю надо чтото вставить в файл pricelist.php.

там есть строчка следующего содержания
&sort=name&direction=ASC

но как приписать и СТРАНИЦУ 1.2.3.4...?

Neutronix -- зачем дублировать посты в двух одновременно темах (Сортировка товаров в прайс-листе и ЧПУ)???

Набор сообщений?? :mad:
 
А кто подскажет как вывести прайс без категорий? Тоесть все товары скопом по алфавиту?:bc:
 
А кто подскажет как вывести прайс без категорий? Тоесть все товары скопом по алфавиту?:bc:

загляни в pricelist.php
найди функцию function pricessCategories(){

и замени ее на
PHP:
function pricessCategories(){
	$out = array();
	$_GET["direction"]=(string)$_GET["direction"];
	$_GET["sort"]=(string)$_GET["sort"];
	$_GET["direction"]=$_GET["direction"]=="DESC"?" DESC":" ASC";
	switch ($_GET["sort"]){
		default:
			$_GET["sort"] = "name";
		case 'name':
		case 'Price':
			break;
	}
	$sql = "SELECT `productID`, `name`, `Price`, `in_stock` FROM ".PRODUCTS_TABLE." WHERE `enabled`=1 ORDER BY ".$_GET["sort"].$_GET["direction"];
	$q = db_query( $sql ) or die (db_error());
	while ($row = db_fetch_row($q)) {
		$row[2]=$row[2] <= 0? "n/a":show_price($row[2]);
		$out[] =array($row[0],$row[1],0,"FFFFFF",1,$row[2],$row[3]);
	}
	return $out;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху