Багфикс
- Для релизов: с 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 - Все для продаж уже внутри!
-
Инструкция по обновлению платежного модуля ЮKassa
-
Как получать значения нужных переменных в шаблоне дизайна

