Категории

[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').'">&uarr;</a><a href="'.os_href_link(FILENAME_CONTENT, 'coID='.$_GET['coID'].'&products_name=desc').'">&darr;</a>';
?>
</th>
<th>
<?php
echo 'Модель <a href="'.os_href_link(FILENAME_CONTENT, 'coID='.$_GET['coID'].'&products_model=asc').'">&uarr;</a><a href="'.os_href_link(FILENAME_CONTENT, 'coID='.$_GET['coID'].'&products_model=desc').'">&darr;</a>';
?>
</th>
<th>
<?php
echo TEXT_VALID_PRODUCTS_PRICE.' <a href="'.os_href_link(FILENAME_CONTENT, 'coID='.$_GET['coID'].'&products_price=asc').'">&uarr;</a><a href="'.os_href_link(FILENAME_CONTENT, 'coID='.$_GET['coID'].'&products_price=desc').'">&darr;</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


Источник



Copyright ShopOS