Автор Тема: Не сохраняются характеристики товара  (Прочитано 149 раз)

29 Января 2016, 15:06:39
  • Пользователь
  • **
  • Сообщений: 97
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Перенес таблицы ps_product*, ps_image, ps_attribute* и ps_feature* с одной БД на другую через SQL экспорт/импорт

После переноса в новой БД не сохраняются характеристики, при этом причинно-следственные связи не нарушены.
При этом характеристики перенеслись, но при изменении товара в админке они (характеристики) удаляются.

Подозреваю, что не  перенес какую-то таблицу, но не могу найти какую. Версии PS одинаковые, темы тоже.

p.s. использую multifeature модуль

29 Января 2016, 19:17:12
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86191
  • Репутация: +25412/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Модуль хранить данные в таблицах? Если да, то эти таблицы также нужно перенести.
29 Января 2016, 19:23:41
Ответ #2
  • Пользователь
  • **
  • Сообщений: 97
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
да, в таблице feature_product и она перенесена.

в логах php-errors при сохранении характеристик выходит такая ошибка:

PHP Warning:  in_array() expects parameter 2 to be array, string given in ..... line 81 и 85

ругань идет на этт кусок кода в модуле:

{foreach from=$available_feature.featureValues item=value}
<label style="padding:2px;text-align:left;cursor:pointer;width:99%;{if in_array($value.id_feature_value, $available_feature.current_item)}background-color:#acd8fe;{/if}">
<input type="checkbox" name="feature_{$available_feature.id_feature}_value[]" class="feature_{$available_feature.id_feature}_value" value="{$value.id_feature_value}" {if in_array($value.id_feature_value, $available_feature.current_item)}checked="checked"{/if}
onchange="$('.custom_{$available_feature.id_feature}_').val(''); $('#feature_{$available_feature.id_feature}_value').attr('checked', false); if ($(this).attr('checked')) $(this).closest('label').css('background-color', '#acd8fe'); else $(this).closest('label').css('background-color', '#ffffff');">
{$value.value|truncate:40}&nbsp;</label><br />
{/foreach}

Причем на другом сайте модуль идентичный и таких ошибок нет.
29 Января 2016, 19:30:14
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86191
  • Репутация: +25412/-0
  • Сообщество PrestaShop
    • Просмотр профиля
PHP Warning -Это предупреждение, не ошибка. Не в этом проблема.
29 Января 2016, 20:39:18
Ответ #4
  • Пользователь
  • **
  • Сообщений: 97
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
да, но он косвенно указывает на ошибку - в оригинальной версии этих варнингов нет
29 Января 2016, 20:53:37
Ответ #5
  • Пользователь
  • **
  • Сообщений: 97
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
отбой, нашел ошибку в контроллере AdminProduct