Автор Тема: PrestaShop v1.6.1.4 и php 7  (Прочитано 245 раз)

16 Июля 2016, 04:57:17
  • Пользователь
  • **
  • Сообщений: 88
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте, имеется магазина на PrestaShop v1.6.1.4. При переезде на новый хостинг поставил в настройках php 7 - магазин просто офигенно летал. Всё здорово. Тут решил импортировать товар (csv файл) - тут же ошибка
No Name (ID: No ID) не может быть сохранен(а)
Property Product->name is empty
Вернул версию php 5.6 - ошибка исчезла, но сайт стал медленнее работать.
Можно как-то вернуть версию php 7 и исправить ошибку импорта.
16 Июля 2016, 11:18:45
Ответ #1
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22094
  • Репутация: +17108/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Подождать нужно новой версии prestashop 1.7. Она поддерживает php 7.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
16 Июля 2016, 12:56:28
Ответ #2
  • Пользователь
  • **
  • Сообщений: 88
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Подождать нужно новой версии prestashop 1.7. Она поддерживает php 7.
Так, потом как обновляется? Там же куча модулей, тема и т.д.
16 Июля 2016, 14:02:55
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 13139
  • Репутация: +14553/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Обновленое prestashop 1.6 на 1.7 возмлжно, но многие модули еще не совместимы с новой версией prestashop. Ну а темы совсем не подходят.
Нужно будет переносить товары на заново установленную версию prestashop 1.7. Потом проверять совместимость модулей. Многие модули будут уже не нужны, так как в самом движке встроенны подобные функции.
16 Июля 2016, 14:18:46
Ответ #4
  • Пользователь
  • **
  • Сообщений: 88
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Обновленое prestashop 1.6 на 1.7 возмлжно, но многие модули еще не совместимы с новой версией prestashop. Ну а темы совсем не подходят.
Нужно будет переносить товары на заново установленную версию prestashop 1.7. Потом проверять совместимость модулей. Многие модули будут уже не нужны, так как в самом движке встроенны подобные функции.
Лучше 1,6 оставить.
16 Июля 2016, 17:55:40
Ответ #5
  • Пользователь
  • **
  • Сообщений: 88
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Но всё же вопрос. Преста работала на php 7 отлично и быстро, кроме этой ошибки. Можно оставить php 7 и как-то исправить эту ошибку?
16 Июля 2016, 20:04:26
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 2167
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Смотри различие версий php, какие функции не используются и какие изменили названия. Ищи их в файлах php prestashop и меняй. Все просто.
17 Июля 2016, 04:40:19
Ответ #7
  • Пользователь
  • **
  • Сообщений: 88
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вернул php 7 при импорте появляется следующая ошибка:

PHP Warning:  Parameter 3 to AdminImportControllerCore::fillInfo() expected to be a reference, value given in /AdminImportController.php on line 1006

foreach ($array as $k => $row) {
            if (!call_user_func_array($funcname, array($row, $k, $user_data))) {
                return false;
            }
        }
        return true;
    }

На одном форуме нашел совет поставить перед $user_data знак & &$user_data
Импорт прошел - товар импортируется, но в админке сообщение об ошибке не исчезло (
В логе появилась следующая запись:

PHP Parse error:  syntax error, unexpected '&' in /AdminImportController.php on line 1006
PHP Parse error:  syntax error, unexpected end of file in /AdminImportController.php on line 3233
// checks if one product/attribute is there only once
                if (isset($products[$id_product][$id_product_attribute])) {
                    $this->errors[] = sprintf($this->l('Product/Attribute (%d/%d) cannot be added twice (at line %d).'), $id_product,
                        $id_product_attribute, $current_line + 1);
                } else {
                    $products[$id_product][$id_product_attribute] = $quantity_expected;
                }
17 Июля 2016, 05:06:13
Ответ #8
  • Пользователь
  • **
  • Сообщений: 88
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вернул как было в коде AdminImportController.php
далее в строке  975
protected static function fillInfo($infos, $key, &$entity)Удалил знак & - товар импортируется, ошибки в логе php нет, но в админке вылазит та же ошибка.
Помогите )
17 Июля 2016, 10:56:47
Ответ #9
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85948
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
PHP Warning:
Это не ошибка. Выключите показ ошибок или измените уровень на показывать только ошбки.
17 Июля 2016, 11:02:30
Ответ #10
  • Пользователь
  • **
  • Сообщений: 88
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В чем разница между
&$entity и $entity
Если прописать &$entity, то ошибки не будет.
Но будет Сообщение в админке при импорте товаров

No Name (ID: No ID) не может быть сохранен(а)
Property Product->name is empty

при этом товары импортируются.
17 Июля 2016, 11:23:03
Ответ #11
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85948
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
& - ссылка. Чтобы создать жесткую ссылку, нужно использовать оператор & (амперсанд).
Ошибок у вас нет, есть предупреждения, которые связанны с изменившимися требованиями в php 7.
Предупреждения не влияюи на работу скриптов. Можете так и оставить.
17 Июля 2016, 11:27:36
Ответ #12
  • Пользователь
  • **
  • Сообщений: 88
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
& - ссылка. Чтобы создать жесткую ссылку, нужно использовать оператор & (амперсанд).
Ошибок у вас нет, есть предупреждения, которые связанны с изменившимися требованиями в php 7.
Предупреждения не влияюи на работу скриптов. Можете так и оставить.

т.е. это можно оставить -

No Name (ID: No ID) не может быть сохранен(а)
Property Product->name is empty
17 Июля 2016, 11:28:51
Ответ #13
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85948
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Импорт проходит, товары сохраняются, тогда можете оставить.
17 Июля 2016, 11:37:19
Ответ #14
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22094
  • Репутация: +17108/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Цитировать
Release of PrestaShop 1.6.1.4
Here are the changes that 1.6.1.4 brings:
    PHP 7 is now fully supported
...
В релизе написано что PrestaShop 1.6.1.4 полность адаптирован под PHP 7.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.