price_list.php
привет
в прайс хочу внести более расширеную информацию для отображения -название(есть) - артикул products_model - количество products_quantity - цена(есть)
как его правильно открорректировать?
и еще, как можно добавить графу отображения колличества, под кодом товара. чтоб при просмотре товара в каталоге видно было. product_info.php править надо, как в случае с price_list.php ?
В файле price_list.php ищем запрос к БД
$export_query = "select ...
После p.products_model, пишем p.products_quantity.
Далее после или перед (как вам удобнее)
echo "<td align=\"right\">"; echo $products_price; echo "</td>\n"; echo "</tr>\n";
Вставляем: echo "<td align=\"right\">"; echo $row; echo "</td>\n"; echo "</tr>\n";
echo "<td align=\"right\">"; echo $row; echo "</td>\n"; echo "</tr>\n";
Как-то так. На второй вопрос, думаю ДА.
<?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 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_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_quantity, 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 align=\"right\">"; echo $products_quantity; echo "</td>\n"; echo "</tr>\n"; }
echo "<td align=\"right\">"; echo $products_price; echo "</td>\n"; echo "</tr>\n"; }
echo "<td align=\"right\">"; echo $products_model; echo "</td>\n"; echo "</tr>\n"; } echo "</table><br /><br /><br />";
?>
получил ошибку: Parse error: syntax error, unexpected '}' in /***/media/content/price_list.php on line 106
а как 'Код товара' вставить? думал products_model но это название товара оказалось
Посмотрите что я вам написал вставить :
echo "<td align=\"right\">"; echo $row; echo "</td>\n"; echo "</tr>\n";
И что вы вставили :
echo "<td align=\"right\">"; echo $products_quantity; echo "</td>\n"; echo "</tr>\n"; }
Эта скобочка должна быть одна и в конце этих трех однотипных блоков кода. Она закрывает цикл в котором выводятся товары. К тому же у меня нет не идиного предположения, что вы рассчитываете вывести используя $products_quantity и $products_model. Внимательнее.
Я не очень понял что вы имеет ввиду под кодом товара. просили products_model. Залезьте в базу и посмотрите как называется поле с желаемым результатом. ТОгда можно будет думать как его вывести.
о как :) пасиб, с этим разобрался посещение бд помогло
так, теперь новые данные из products_model и products_quantity отображаются в таблице в строчку под товаром. а можно чтоб в отдельном столбце было?
то есть сейчас по дефолту: Название товара ↑↓ Цена ↑↓
сюда добавить бы Артикул Количество
Дык без проблем.
Было у вас так: echo "<td align=\"right\">"; echo $products_price; echo "</td>\n"; echo "</tr>\n";
Тег tr закрывает строку Название товара ↑↓ Цена ↑↓ Чтобы все четыре значения были в одну строку надо:
echo "<td align=\"right\">"; echo $products_price; echo "</td>\n";
echo "<td align=\"right\">"; echo $row; echo "</td>\n";
echo "<td align=\"right\">"; echo $row; echo "</td>\n"; echo "</tr>\n";
Теперь должнго быть так:
products_name products_price products_model products_quantity
в одну строку.
пасиб еще раз ;)
а заголовок где прописать для двух новых столбцов?
добавил по аналогии к тем что были:
if (isset($_GET['products_quantity'])) { if (strtolower($_GET['products_quantity'])=='asc') { $_orders = ' order by p.products_quantity ASC'; } elseif (strtolower($_GET['products_quantity'])=='desc') { $_orders = ' order by p.products_quantity DESC'; } } else { $_orders = ' order by p.products_quantity ASC'; }
но на выходе вышло что заголовок на нужном месте, но надпись TEXT_VALID_products_quantity
Этот кусок кода для сортировки, насколько я понимаю. Вряд ли он вам нужен.
Дописать надо на подобии вот этого : <th><?php echo TEXT_VALID_PRODUCTS_MODEL; ?> </th>
<th><?php echo TEXT_VALID_PRODUCTS_QUANTITY; ?> </th>
Найте где определяется строка TEXT_VALID_PRODUCTS_PRICE и в том же файле сразу после нее, таким же образом определить TEXT_VALID_PRODUCTS_MODEL и TEXT_VALID_PRODUCTS_QUANTITY.
ТОгда у вас будет два новых заголовка, я думаю. Однако без возможности сортировки по ним. Если хотите с сортировкой, то думаю сделать надо в точности как для products_price.
Проверьте.
сработало в первом случае, с моделью товара
а вот с колличеством нет, выдает упорно - TEXT_VALID_products_quantity ↑↓
TEXT_VALID_PRODUCTS_MODEL - это строка заголовка, текст, а точнее метка указывающая на текст, который где-то определен. TEXT_VALID_PRODUCTS_QUANTITY - тоже самое, только вы не определили эту строчку.
Т.к. MODEL уже бралась в запросе к БД, полагаю, что и текст заголовка уже где-то есть.
QUANTITY не было, мы его сами добавили, откуда по вашему должен взяться текст заголовка? Надо его ручками прописать. Ищите.
з.ы. полагаю это должно располагаться в файле lang.php
миссия выполнена! :)
все сделал как посоветовал, в lang добавил перевод
ну и гуд, если все получилось. так держать. :)
Источник
|