Категории
[FAQ] Часто задаваемые вопросы и ответы
Проблемы и решения
Ошибки и исправления
Общие вопросы
Расширения
Установка и обновление
Модули
Шаблоны
Локализация интерфейса
Коммерческие предложения
Учимся бизнесу
Бизнес книги
Поисковая оптимизация (SEO)
Магазины на ShopOS
Хостинг для ShopOS
Предложения и пожелания
Курилка
|
Как к прайс-лист добавить столбец код товара
Никто не сталкивался с необходимостью добавить столбец код товара к ссылке прайс-лист
Если прайс стандартный, то заменить содержимое media\content\price_list.php на <?php /* ##################################### # ShopOS: Shopping Cart Software. # Copyright (c) 2008-2010 # http://www.shopos.ru # http://www.shoposs.com # Ver. 1.0.0 ##################################### */
?> <br /> <style type="text/css"> <!-- .border {border-collapse: collapse; width: 96%; font-size: 0.9em;} .border CAPTION {margin: 1em 0; font-size: 1em;} .border TR:hover {background-color: #EEE; color: black;} .border TH {background-color: white; color: black;} .border TD {padding: 4px; border: 1px solid #DADADA; empty-cells: hide;} .hid {visibility: hidden;} .right { text-align: center; width: 10px; } TD A {text-decoration: none;} TD A:hover {text-decoration: underline;} A.mnf {background-color: #EEE; color: black;} --> </style> <table class="border"> <tr>
<th><?php echo TEXT_VALID_PRODUCTS_NAME.' <a href="'.os_href_link(FILENAME_CONTENT, 'coID='.$_GET['coID'].'&products_name=asc').'">↑</a><a href="'.os_href_link(FILENAME_CONTENT, 'coID='.$_GET['coID'].'&products_name=desc').'">↓</a>'; ?> </th> <th> <?php echo 'Модель <a href="'.os_href_link(FILENAME_CONTENT, 'coID='.$_GET['coID'].'&products_model=asc').'">↑</a><a href="'.os_href_link(FILENAME_CONTENT, 'coID='.$_GET['coID'].'&products_model=desc').'">↓</a>'; ?> </th> <th> <?php echo TEXT_VALID_PRODUCTS_PRICE.' <a href="'.os_href_link(FILENAME_CONTENT, 'coID='.$_GET['coID'].'&products_price=asc').'">↑</a><a href="'.os_href_link(FILENAME_CONTENT, 'coID='.$_GET['coID'].'&products_price=desc').'">↓</a>'; ?> </th> </tr> <? if (isset($_GET['products_name'])) { if (strtolower($_GET['products_name'])=='asc') { $_orders = ' order by pd.products_name ASC'; } elseif (strtolower($_GET['products_name'])=='desc') { $_orders = ' order by pd.products_name DESC'; } } else { $_orders = ' order by pd.products_name ASC'; } if (isset($_GET['products_model'])) { if (strtolower($_GET['products_model'])=='asc') { $_orders = ' order by p.products_model ASC'; } elseif (strtolower($_GET['products_model'])=='desc') { $_orders = ' order by p.products_model DESC'; } } else { $_orders = ' order by p.products_model ASC'; } if (isset($_GET['products_price'])) { if (strtolower($_GET['products_price'])=='asc') { $_orders = ' order by p.products_price ASC'; } elseif (strtolower($_GET['products_price'])=='desc') { $_orders = ' order by p.products_price DESC'; } } else { $_orders = ' order by p.products_price ASC'; }
$export_query = "select p.products_id, pd.products_name, p.products_model, p.products_price, p.products_status, p.products_tax_class_id from " . TABLE_PRODUCTS . " p LEFT JOIN " . TABLE_PRODUCTS_DESCRIPTION . " pd ON p.products_id = pd.products_id AND pd.language_id = '".$_SESSION['languages_id']."' where p.products_status = 1".$_orders; $export_query = osDBquery($export_query); while ($row = os_db_fetch_array($export_query,true)) { $products_price = $osPrice->Format($row['products_price'], true); echo "<tr>\n"; echo "<td>"."<a href=\"".os_href_link(FILENAME_PRODUCT_INFO, 'products_id=' .$row)."\">" .$row."</a></td>\n"; echo "<td>"; echo $row; echo "</td>\n"; echo "<td align=\"right\">"; echo $products_price; echo "</td>\n"; echo "</tr>\n"; } echo "</table><br /><br /><br />";
?>
Да именно это, спасибо NeBox
Помогите пожалуйста используется прайс лист html, в магазине 6000 товаров, так вот при открытии ссылке с прайсом страница подвисает в среднем на полторы минуты, то есть прогружается сначала все 6000 товаров а потом только включается ограничение 20 товаров на листе, как это изменить? Всю голову сломал, нужно что бы прогружалось 20 товаров, затем на след. листе следующие 20 товаров и так далее. <?php define('TEXT_VALID_PRODUCTS_ID', 'Ссылка на товар'); define('TEXT_VALID_PRODUCTS_MANUFACTURERS', 'Произв.'); define('TEXT_VALID_PRODUCTS_NAME', 'Название товара'); define('TEXT_VALID_PRODUCTS_PRICE', 'Цена'); ?> <link rel="stylesheet" href="/media/content/tablesorter/style_tablesorter.css" />
<div id="tablewrapper"> <div id="tableheader"> <div class="search"> <select id="columns" onchange="sorter.search('query')"></select> <input type="text" id="query" onkeyup="sorter.search('query')" /> </div> <span class="details"> <div>позиции <span id="startrecord"></span>-<span id="endrecord"></span> из <span id="totalrecords"></span></div> <div><a href="javascript:sorter.reset()">сброс</a></div> </span> </div>
<table cellpadding="0" cellspacing="0" border="0" id="table" class="tinytable"> <thead> <tr> <th><h3><?php echo TEXT_VALID_PRODUCTS_ID;?></h3></th> <th><h3><?php echo TEXT_VALID_PRODUCTS_MANUFACTURERS;?></h3></th> <th><h3><?php echo TEXT_VALID_PRODUCTS_NAME;?></h3></th> <th><h3><?php echo TEXT_VALID_PRODUCTS_PRICE;?></h3></th> </tr> </thead> <tbody> <? $export_query = "select p.products_id, pd.products_name, p.products_model, p.products_price, p.products_status, p.products_tax_class_id, m.manufacturers_id, m.manufacturers_name from " . TABLE_PRODUCTS . " p LEFT JOIN " . TABLE_MANUFACTURERS . " m ON p.manufacturers_id = m.manufacturers_id LEFT JOIN " . TABLE_PRODUCTS_DESCRIPTION . " pd ON p.products_id = pd.products_id AND pd.language_id = '".$_SESSION['languages_id']."' where p.products_status = 1 order by '".@$_GET['sort_by']."', pd.products_name"; $export_query = osDBquery($export_query); while ($row = os_db_fetch_array($export_query,true)) { $products_price = $osPrice->GetPrice($row['products_id'], $format=true, 1, $row['products_tax_class_id'], $row['products_price']); echo " <tr>\n"; echo " <td><a href=\"".os_href_link(FILENAME_PRODUCT_INFO, 'products_id=' .$row)."\">".os_href_link(FILENAME_PRODUCT_INFO, 'products_id=' .$row)."</a></td>\n"; echo " <td><a href=\"".os_href_link(FILENAME_DEFAULT, 'manufacturers_id=' .$row)."\">" .$row."</a></td>\n"; echo " <td><a href=\"".os_href_link(FILENAME_PRODUCT_INFO, 'products_id=' .$row)."\">" .$row."</a></td>\n"; echo " <td>";if($row==0): echo "уточнить у менеджера"; else: echo $products_price; endif; echo "</td>\n"; echo " </tr>\n"; } ?> </tbody> </table> <div id="tablefooter"> <div id="tablenav"> <div> <img src="/media/content/tablesorter/images/first.gif" width="16" height="16" alt="первая страница" onclick="sorter.move(-1,true)" /> <img src="/media/content/tablesorter/images/previous.gif" width="16" height="16" alt="на страницу вперед" onclick="sorter.move(-1)" /> <img src="/media/content/tablesorter/images/next.gif" width="16" height="16" alt="на страницу назад" onclick="sorter.move(1)" /> <img src="/media/content/tablesorter/images/last.gif" width="16" height="16" alt="последняя страница" onclick="sorter.move(1,true)" /> </div> <div> <select id="pagedropdown"></select> </div> <div> <a href="javascript:sorter.showall()">Все поз. на стр.</a> </div> </div> <div id="tablelocation"> <div> <select onchange="sorter.size(this.value)"> <option value="5">5</option> <option value="10" selected="selected">10</option> <option value="20">20</option> <option value="50">50</option> <option value="100">100</option> <option value="200">200</option> <option value="500">500</option> <option value="1000">1000</option> </select> <span>позиции на стр.</span> </div> <div class="page">Стр. <span id="currentpage"></span> из <span id="totalpages"></span></div> </div> </div> </div> <script type="text/javascript" src="/media/content/tablesorter/script.js"></script> <script type="text/javascript"> var sorter = new TINY.table.sorter('sorter','table',{ headclass:'head', ascclass:'asc', descclass:'desc', evenclass:'evenrow', oddclass:'oddrow', evenselclass:'evenselected', oddselclass:'oddselected', paginate:true, size:10, colddid:'columns', currentid:'currentpage', totalid:'totalpages', startingrecid:'startrecord', endingrecid:'endrecord', totalrecid:'totalrecords', hoverid:'selectedrow', pageddid:'pagedropdown', navid:'tablenav', sortcolumn:1, sortdir:1, sum:, avg:, columns:, init:true }); </script>
Он и будет грузить все товары. это бред а не прайс. Такие прайсы надо делать для себя, где-то в админке. Юзер не должен ждать минуту, чтобы посмотреть все товары.
Такое пишут на AJAX, чтобы не забивать страницу тысячами строк кода. Вообще это проблема в шопосе. Сейчас закончил магаз, где более 150к товара. И че делать с прайсом и выводами списков админке....?
Вам скорее в тему "Коммерческие предложения"
Хорошо, спасибо за ответ, а можно ещё вопрос в догонку? У вас есть плагин http://www.shopos.ru/forum/index.php?topic=3681.0 , можно ли его как отобразить на отдельной странице сайта, например на информационной странице?
Введите в браузере ваш_сайт/index.php?cat=0
Открывается страница с товарами =( http://basictool.ru/index.php?cat=0
Источник
|