Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

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').'">&uarr;</a><a

href="'.os_href_link(FILENAME_CONTENT, 'coID='.$_GET

['coID'].'&products_name=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_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 добавил перевод


ну и гуд, если все получилось. так держать. :)


Источник



Copyright ShopOS