Разработка плагинов, модулей и скриптов > Модули и скрипты > Модули ShopCMS > ShopCMS исправления ошибок в движке, багфиксы
Купить этот модуль Скидка 10% при покупке на сумму от $60
Еще 15% скидки при самостоятельной установке по инструкции

ShopCMS исправления ошибок в движке, багфиксы

Не удаляется адрес из адресной книги

Подтверждение удаления адреса из адресной книги
Иногда адрес не удаляется после подтверждения

В стандартном шаблоне есть ошибка, из-за которой пользователь, создавший себе несколько адресов для доставки, не может потом их удалить. Возможно, подобная ошибка проявляется еще в каких-то местах, где используется функция confirmDelete - должна исправляться аналогично.

 

Исправление

В файле core/tpl/user/текущий_шаблон/address_book.tpl.html

найти код:
&delete=');

заменить на код:
&delete=');return false;

Обрезается длинный текст в описаниях и страницах

Если вставлять очень длинный текст в описание категории или товара, или в страницу - он может не полностью "влезть" - просто обрезается в конце. Это происходит из-за того, что у движка некорректный тип данных для полей, в которых могут храниться очень длинные текстовые фрагменты.

 

Исправление

Нужно выполнить следующие SQL запросы:

ALTER TABLE ваш_префикс_таблиц_categories CHANGE COLUMN description description longtext;
ALTER TABLE ваш_префикс_таблиц_products CHANGE COLUMN description description longtext;
ALTER TABLE ваш_префикс_таблиц_aux_pages CHANGE COLUMN aux_page_text aux_page_text longtext;

Убрать описание категории из постраничной разбивки

Описание категории повторяется на каждой странице постраничной разбивки товаров, а также на странице "показать все". Это неудобно, а также плохо для оптимизации. Стандартный шаблон исправляется таким образом:

найти строку:

{if $selected_category.description}

и заменить ее строкой:

{if $selected_category.description && !$smarty.get.offset && !$smarty.get.show_all}

Обратный адрес в уведомлении о новом заказе

Когда администратору приходит уведомление о новом заказе, в поле обратного адреса подставляется адрес магазина. Если администратор хочет сразу ответить покупателю - нужно нажать в почтовой программе "Ответить", найти емайл покупателя в теле письма, и вставить его в поле "Получатель".

 

Исправление

Вместо этого можно исправить скрипт, чтобы он сразу подставлял в уведомление емайл покупателя как обратный адрес.

// найти в файле core/functions/order_functions.php строки:
if (!CONF_ACTIVE_ORDER) xMailTxtHTMLDATA(CONF_ORDERS_EMAIL, STRING_ORDER." #".$orderID." - ".CONF_SHOP_NAME, $html);
else  xMailTxtHTMLDATA(CONF_ORDERS_EMAIL, STRING_ORDER." #".$orderID." (".ADMIN_SEND_INACT_ORDER.") - ".CONF_SHOP_NAME, $html);

// и заменить их на:
if (!CONF_ACTIVE_ORDER) xMailTxtHTMLDATA(CONF_ORDERS_EMAIL, STRING_ORDER." #".$orderID." - ".CONF_SHOP_NAME, $html, $order["customer_email"], $order["customer_firstname"] . ' ' . $order["customer_lastname"]);
else  xMailTxtHTMLDATA(CONF_ORDERS_EMAIL, STRING_ORDER." #".$orderID." (".ADMIN_SEND_INACT_ORDER.") - ".CONF_SHOP_NAME, $html, $order["customer_email"], $order["customer_firstname"] . ' ' . $order["customer_lastname"]);

Сортировка списка файлов в форме добавлении блока

При добавлении блока из файла, выпадающий список файлов не отсортирован, и бывает трудно найти нужный блок. Гораздо удобнее, если этот список будет отсортирован по алфавиту:

// файл core/includes/admin/sub/conf_blocks_edit.php
// найти строку:
$smarty->assign( "blocklist", $blocklist );

// добавить перед ней эту строку:
sort($blocklist);

Тормозит сохранение товаров

Если в вашем каталоге больше сотни категорий, скорее всего очень медленно сохраняется товар или категория в админке сайта. Это происходит из-за того, что при каждом сохранении включается функция пересчета количества товаров в категориях.

Пересчет товаров при каждом сохранении можно отключить, но ответственный за это параметр скрыт в базе данных. Включить отображение параметра можно с помощью следующего SQL запроса:

UPDATE ваш_префикс_таблиц_settings SET settings_groupID=2 WHERE settings_constant_name='CONF_UPDATE_GCV' LIMIT 1

После этого нужно зайти в настройки магазина, найти параметр "Автоматически обновлять количество товаров в категориях (в администрации)", снять с него галочку и сохранить настройки.

Купить этот модуль Скидка 10% при покупке на сумму от $60
Еще 15% скидки при самостоятельной установке по инструкции