я думаю что нужно решить первую проблему путем работы с файлом отвечающий за бокс Корзина (это я пока отложила ибо отсутствие цен более критично)

насчет второго я немного в смятении. В файле www/shopping_cart.php ничего нужного нет.
работаю с www/includes/classes/shopping_cart.php
а тут просто масса всего и что из этого нужно править я в потерях.

первым делом ткнулась в

Цитировать
// products price
        $product_query = tep_db_query("select products_id, products_price, products_tax_class_id, products_weight from " . TABLE_PRODUCTS . " where products_id = '" . (int)$products_id . "'");
        if ($product = tep_db_fetch_array($product_query)) {
          $prid = $product['products_id'];
          $products_tax = tep_get_tax_rate($product['products_tax_class_id']);
          $products_price = $product['products_price'];
          $products_weight = $product['products_weight'];

             //TotalB2B start
          $products_price = tep_xppp_getproductprice($prid);
          $customer_discount = tep_get_discount_b2b($prid);
          if ($customer_discount >= 0) {
            $products_price = $products_price + $products_price * abs($customer_discount) / 100;
          } else {
            $products_price = $products_price - $products_price * abs($customer_discount) / 100;
          }
          if ($special_price = tep_get_products_special_price($prid)) $products_price = $special_price;
          //TotalB2B end

          $this->total += $currencies->calculate_price($products_price, $products_tax, $qty);
          $this->weight += ($qty * $products_weight);
        }

// attributes price
        if (isset($this->contents[$products_id]['attributes'])) {
          reset($this->contents[$products_id]['attributes']);
          while (list($option, $value) = each($this->contents[$products_id]['attributes'])) {
            $attribute_price_query = tep_db_query("select options_values_price, price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id = '" . (int)$prid . "' and options_id = '" . (int)$option . "' and options_values_id = '" . (int)$value . "'");
            $attribute_price = tep_db_fetch_array($attribute_price_query);
//TotalB2B start
            $customer_discount = tep_get_discount_b2b($product['products_id']);
            if ($customer_discount >= 0) {
              $attribute_price['options_values_price'] = $attribute_price['options_values_price'] + $attribute_price['options_values_price'] * abs($customer_discount) / 100;
            } else {
              $attribute_price['options_values_price'] = $attribute_price['options_values_price'] - $attribute_price['options_values_price'] * abs($customer_discount) / 100;
            }
            //TotalB2B end

далее
Цитировать
$products_query = tep_db_query("select p.products_id, pd.products_name, p.products_model, p.products_image, p.products_price, p.products_weight, p.products_tax_class_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = '" . (int)$products_id . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");
        if ($products = tep_db_fetch_array($products_query)) {
          $prid = $products['products_id'];
          $products_price = $products['products_price'];
            //TotalB2B start
          $products_price = tep_xppp_getproductprice($prid);
          $customer_discount = tep_get_discount_b2b($prid);
          if ($customer_discount >= 0) {
            $products_price = $products_price + $products_price * abs($customer_discount) / 100;
          } else {
            $products_price = $products_price - $products_price * abs($customer_discount) / 100;
          }
          if ($special_price = tep_get_products_special_price($prid)) $products_price = $special_price;
          //TotalB2B end

          $products_array[] = array('id' => $products_id,
                                    'name' => $products['products_name'],
                                    'model' => $products['products_model'],
                                    'image' => $products['products_image'],
                                    'price' => $products_price,
                                    'quantity' => $this->contents[$products_id]['qty'],
                                    'weight' => $products['products_weight'],
                                    'final_price' => ($products_price + $this->attributes_price($products_id)),
                                    'tax_class_id' => $products['products_tax_class_id'],
                                    'attributes' => (isset($this->contents[$products_id]['attributes']) ? $this->contents[$products_id]['attributes'] : ''));

Первый код насколько хватает моего понимания отвечает за расчет цены. второй на отображение цены в итоге и корзине.

На этом я и заглохла ( не знаю куда лезть

Кто может помочь разобрать єтот файл по полочкам?

Сейчас в строке 231 так:
   {А должно быть так:
  } else {

Вы были правы относительно того что там должен находится  } else {. Без них не до конца работает функция. Но при попытке вернуть их на место снова выплывает ошибка Parse error: syntax error, unexpected '}' in /home/spdtkach/test/www/admin/specials.php on line 231

« Последнее редактирование: 13 Март 2018 20:33:34 pm от Spido »
*

Love

  • *
  • 1934

Сейчас в строке 231 так:
   {А должно быть так:
  } else {

Вы были правы относительно того что там должен находится  } else {. Без них не до конца работает функция. Но при попытке вернуть их на место снова выплывает ошибка Parse error: syntax error, unexpected '}' in /home/spdtkach/test/www/admin/specials.php on line 231
Так найдите вот эту лишнюю или не хватающую }, он же пишет синтаксис ошибка и указывает на это }

« Последнее редактирование: 13 Март 2018 20:33:11 pm от Spido »

Сейчас в строке 231 так:
   {А должно быть так:
  } else {

Вы были правы относительно того что там должен находится  } else {. Без них не до конца работает функция. Но при попытке вернуть их на место снова выплывает ошибка Parse error: syntax error, unexpected '}' in /home/spdtkach/test/www/admin/specials.php on line 231
Так найдите вот эту лишнюю или не хватающую }, он же пишет синтаксис ошибка и указывает на это }

в том то и дело что пробовала! когда убираешь скобу то пишет что лишняя else а если убрать else то ошибка пропадает но сама функция не выполняется. я могу дать доступ к админке чтоб показать

« Последнее редактирование: 13 Март 2018 20:32:44 pm от Spido »

В любом случае в данный момент присутствует 3 ошибки которые я одна исправить не могу(знаний не хватает) -

1. отображение цен в корзине - цена рядом с товаром не отображается. вместо нее 0. и неважно это цена товара или с опциями. Но при этом Цена итого подсчитывается нормально(тоже как обычная так и с учетом атрибутов).

2. при добавлении товара в корзину через путь Каталог-Категория-Подкатегория выбивает пустую страницу с надписью  Товар не найден, при этом товар в корзину добавляется. Но если путь Каталог-Категория то добавляется без такой ошибки. Проследив я отметила что при возникновении ошибки в строке запроса вылетает такой путь /product_info.php?cPath=23_25&products_id=82
при нормальном отображении он должен быть такой /product_info.php?cPath=23_25&products_id=82

3. выше описаная проблема с работой /admin/specials.php
С ней я зависла наглухо

*

Love

  • *
  • 1934

NetBeans IDE поможет вам с синтаксис ошибками в specials.php.
Скачал последний выложенный вами этот файл и если в строке 231 вместо { поставить } else { то выше его не хватает условия с {, какое условие должно быть я не вникал.

NetBeans IDE поможет вам с синтаксис ошибками в specials.php.
Скачал последний выложенный вами этот файл и если в строке 231 вместо { поставить } else { то выше его не хватает условия с {, какое условие должно быть я не вникал.

ну хоть что то )

все таки решила последовать совету и сравнить файлы магазинов и вставить скрипт построчно. На этом и села. Я понимаю что знаний тут скорее всего не хватит. Возможно кому то тоже понадобится этот скрипт и он согласится помочь.