Багфикс

  • Для релизов: с 21.6.9 по 21.6.11

Если не создается копия товара, то необходимо в файле:

api/Products.php

после:

unset($variant->compare_oprice);

добавить:

unset($variant->precision);

  • Для релизов: с 21.6.10 по 21.6.14

Если не загружаются файлы в файловом менеджере визуального редактора на версиях PHP < 8, то необходимо заменить файл:

fivecms/design/js/filemanager/include/php_image_magician.php

на содержимое данного архива

  • Для релизов: с 22.1.2 по 22.2.3

При необходимости использования пользовательских баннеров.

В файле view/View.php заменить все:

get_template_vars

на:

getTemplateVars

  • Для релизов: с 22.0.1 по 22.2.3

Только для случаев, если при использовании связки размер-цвет показываемая при смене размера цена не соответствует активному цвету

В view/ProductView.php [99 строка] убрать: 

$size_variant = $this->variants->get_variants(array('product_id'=>$product->id, 'variant1'=>$size));
$product->variant = reset($size_variant);

В .../html/product.tpl [109 строка] заменить:

{if $count_vars++ == 0 || $smarty.get.variant == $v->id}selected{/if}

на

{if $count_vars++ == 0 || $smarty.get.variant == $v->id || $v->id == $product->variant->id}selected{/if}

  • Для некоторых релизов: по 22.2.3

Только для случаев, если при отсутствии фото товара и параметра цвет не происходит перезагрузка страницы при смене размера:

В конце файла .../html/product.tpl заменить:

   $(".size").on('change',function(){
      var size_label=$('.size :selected').val();
      window.location='{$config->root_url}/products/{$product->url}?size='+size_label;
   });
  });
{/if}
</script>

на

  });
{/if}
</script>
{if !empty($sizes)}
<script>
// Смена размера
$(document).ready(function(){
  $(".size").on('change',function(){
      var size_label=$('.size :selected').val();
      window.location='{$config->root_url}/products/{$product->url}?size='+size_label;
  });
});
</script>
{/if}

  • Для некоторых релизов: по 22.3.2

Только в случае ошибки при объединении заказов.

В api/Orders.php заменить:

private function update_total_price($order_id)

на:

public function update_total_price($order_id)

  • Для некоторых релизов: по 22.3.4

Если не открывается HTML-карта сайта по ссылке /sitemap

В view/SitemapView.php удалить код:

$url = $this->request->get('page_url', 'string');
$page = $this->pages->get_page($url);
// Отображать скрытые страницы только админу
if(empty($page) || (!$page->visible && empty($_SESSION['admin'])))
     return false;

  • Для релизов: с 22.3.2 по 22.3.4

В api/Cart.php заменить:

$cart->full_discount = (int)$this->discountgroup->get_procent_discount($cart->total_price);

на:

$cart_total_price = 0;
foreach($items as $variant_id=>$item){
    if(!empty($products[$item->variant->product_id])){
        $cart_total_price += $item->variant->price*$item->amount;
    }
}
$cart->full_discount = (int)$this->discountgroup->get_procent_discount($cart_total_price);

  • Для некоторых релизов: по 22.3.4

Если не работает виджет СДЭК в мобильном дизайне

В design/mobile/html/cart.tpl после:

{if $cart->total_weight > 0}

добавить:

{$total_weight = $cart->total_weight}

  • Для некоторых релизов: по 22.3.4

Если не работает отправка формы корзине в мобильном дизайне при выведенном сообщении об ошибке

В design/mobile/js/plugins_min.js после 

var offset_top='.message_error';
$('html, body').animate({ scrollTop:$(offset_top).offset().top - 60},500);

убрать:

return false;

  • Для релизов: по 22.3.5

В fivecms/ajax/export_subscribers.php заменить:

$total_users = $this->users->count_users();

на

$total_users = $this->mailer->count_mails();

  • Для некоторых релизов: по 22.3.5

В ajax/import_yml.php заменить:

$filename = $source_csv;

на:

$filename = $source_yml;

  • Для релизов: по 22.3.7

Чтобы сохранялась позиция категории при создании копии товара в api/Products.php заменить:

$this->categories->add_product_category($new_id, $c->category_id);

на

$this->categories->add_product_category($new_id, $c->category_id, $c->position);

  • Для релизов: по 22.4.4

В api/ReportStat.php заменить:

case 'last_week':
$date_filter = 'AND WEEK(o.date - INTERVAL 1 DAY) = WEEK(DATE_SUB(NOW(),INTERVAL 1 WEEK))';
break;
case 'last_month':
$date_filter = 'AND MONTH(o.date) = MONTH(DATE_SUB(NOW(),INTERVAL 1 MONTH))';
break;

на:

case 'last_week':
$date_filter = 'AND WEEK(o.date - INTERVAL 1 DAY) = WEEK(DATE_SUB(NOW(),INTERVAL 1 WEEK)) AND YEAR(o.date) = YEAR(now())';
break;
case 'last_month':
$date_filter = 'AND MONTH(o.date) = MONTH(DATE_SUB(NOW(),INTERVAL 1 MONTH)) AND YEAR(o.date) = YEAR(now())';
break;

  • Для релизов: по 22.4.5

1) В api/Orders.php в двух функциях начисления/списания баллов заменить:

$order_subtotal = $order->total_price - $order->delivery_price;

на:

$order_subtotal = $order->total_price - (1 - $order->separate_delivery)*$order->delivery_price;

2) В fivecms/design/html/user.tpl заменить:

{$user->balance|convert}

на

{$user->balance}

А также заменить:

max="{$user->balance|round}

на:

step="0.01" max="{$user->balance}

  • Для релизов: по 22.4.5

В случае появления ошибки при удалении "Услуг" в api/ServicesCategories.php удалить следующий код в районе 96-97 строк:

$query = $this->db->placehold("DELETE FROM s_products_services_categories WHERE category_id=?", $id);
$this->db->query($query);

  • Для некоторых релизов: по 22.4.7

В случае невозможности указать в корзине кол-во для товаров "под заказ"

В api/Cart.php в 78 строке добавить:

} elseif(empty($variant->stock) && !empty($this->settings->allow_preorder)) {
   $items[$variant->id]->amount = min($session_items[$variant->id], $this->settings->max_order_amount);

над:

} else {
   $items[$variant->id]->amount = 0;
   $this->design->assign('cart_error', 'out_of_stock_order');
}

В products_kit.tpl заменить:

{if $v->stock == 0}disabled{/if}

на:

{if $v->stock == 0 && empty($settings->allow_preorder)}disabled{/if}

А также:

max="{$product->variant->stock}"

на:

max="{if $product->variant->stock == 0 && !empty($settings->allow_preorder)}{$settings->max_order_amount}{else}{$product->variant->stock}{/if}"

UPD: обновлено 28.03.2025

Еще нет своего сайта? Запустите интернет-магазин на платформе 5CMS - Все для продаж уже внутри!

Рекомендуем прочитать