Автор Тема: Проблемы с модулем prestashop onepagecheckout  (Прочитано 5004 раз)

20 Октябрь 2013, 03:41:54
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
вроде с этим справился, помогло.)

но теперь у меня другая проблема не могу установить модуль onepagecheckout , выдает такую ошибку:

Следующие модули не были установлены должным образом:
- onepagecheckout :
Не получается установить override: Метод isDifferent в классе Address уже подменен (overrid).

что делать)?
20 Октябрь 2013, 15:59:53
Ответ #1
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Цитировать
Не получается установить override: Метод isDifferent в классе Address уже подменен (overrid).
Модуль требует замены базового класса Address, а он у вас уже замещен другим модулем. Нужно отредактировать этот класс в ручную, добавлять методы, которые нужно переопределить.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
20 Октябрь 2013, 23:03:58
Ответ #2
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
теперь я буду мучиться с этим.) а как это сделать ? куда заходить,где чего искать и прописывать?)
21 Октябрь 2013, 10:01:57
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Переопределенные классы находяться в папке override. Открываете класс  Address, сравниваете со стандартным, с классом модуля, объединяете и обратно сохраняете в этой папке.
21 Октябрь 2013, 14:31:07
Ответ #4
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
в основной папке override и в папке модуля одно и тоже:
<?php
class Address extends AddressCore
{

    public function 
isDifferent($address_new)
    {
        
// verification keys: VK##2
        
$result false;
        if (
            
$this->firstname != $address_new->firstname ||
            
$this->lastname != $address_new->lastname ||
            
$this->address1 != $address_new->address1 ||
            
$this->postcode != $address_new->postcode ||
            
$this->city != $address_new->city
        
)
            
$result true;
        return 
$result;
    }

}
больше ничего нет
21 Октябрь 2013, 14:57:11
Ответ #5
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Версия prestashop какая?
Модуль onepagecheckout какой?
21 Октябрь 2013, 17:04:48
Ответ #6
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
сегодня обновился до 1.5.6.0 до этого была 1.5.4.1

версия модуля 1.5
22 Октябрь 2013, 11:16:46
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Модуль onepagecheckout не замещает класс Address. Для prestashop 1.5 он ничего не замещает. Для prestashop 1.4 нужно скопировать 2 файла в override, но это AddressController.php и ParentOrderController.php. Может это конфликт с другими модулями. На форуме писали, что есть проблемы с платежными модулями.
23 Октябрь 2013, 01:04:57
Ответ #8
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
но до этого он у меня работал все в порядке было
23 Октябрь 2013, 12:27:45
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 885
  • Репутация: +206/-0
    • Просмотр профиля
Посмотрел на оф.сайте про изменения версий 1.5.4 и 1.5.6, там нет глобальных изменений. Только исправление ошибок. Не может быть, что модуль не работает от этих исправлений. Наверное, это действительно проблема в других модулях. Отключите все дополнительные модули, верните стандарные файлы классов и контроллеров (если что-то меняли), потом только установите модуль onepagecheckout. Так будете точно знать от чего проблемы.
23 Октябрь 2013, 13:40:25
Ответ #10
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
до этого у меня была вот эта проблема, ее удалось решить обновлением престы на сервере, чисто случайно попробовал,чтобы ничего заново не прописывать в таблицах.

Решил убрать id из ЧПУ, установил модуль "cleanurls" , но id остался в самих категориях, удалил модуль сайт перестал работать выдавал такую ошибку
"Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting T_FUNCTION in /home/aksessho/public_html/override/classes/Dispatcher.php on line 8".
заменил файл "Dispatcher.php" сайт заработал , но товар  не отображает и в категориях пишет "страница не найдена" . id остался как и был в категориях только.

пытался установить модуль по новой админка выдает такую ошибку
"Следующие модули не были установлены должным образом:
- cleanurls :
Не получается установить override: Метод loadRoutes в классе Dispatcher уже подменен (overrid)."

так же админка не дает добавить или изменить товар пишет "Unknown column 'id_employee' in 'field list'

INSERT INTO `ps_log` (`severity`, `error_code`, `message`, `object_id`, `id_employee`, `object_type`, `date_add`, `date_upd`) VALUES ('1', '0', 'Product edition', '11', '1', 'Product', '2013-10-02 20:54:54', '2013-10-02 20:54:54')"
А еще я случайно заменил файл public_html/classes/Dispatcher.php и все id вернулись на свои места как и были до установки модуля, а проблема осталась все таже

---------------------------------------------------------------

после этого у меня перестал работать модуль onepagecheckout и стал выдавать такую ошибку:

"Следующие модули не были установлены должным образом:

    - onepagecheckout :
    Не получается установить override: Метод isDifferent в классе Address уже подменен (overrid)."

а еще в админке постоянно горит вот это:

"Если вы хотите полностью использовать панель AdminModules и получить доступ к бесплатным модулям, вы должны включить следующие настройки на сервере:
- Включите allow_url_fopen"

может это как нибудь связанно ?
23 Октябрь 2013, 16:36:16
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Не связано.
Цитировать
Включите allow_url_fopen
Нужно для работы с удаленными файлами с использованием ftp или http протокола.
Некоторые хостеры "из соображений безопасности" выключают эту опцию. Тогда автоапдей не работает.
На работу модуля это не влияет. Если только это не заливка шелла в prestashop.
Простой выход - полностью переустановить сайт и не ставить "левые" модули
24 Октябрь 2013, 01:23:01
Ответ #12
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
не, этот вариант меня не устраивает)
24 Октябрь 2013, 16:26:37
Ответ #13
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Тогда искать ошибки и править. Для начала нужно включить режим показа ошибок, может так будет больше информации.
24 Октябрь 2013, 17:26:45
Ответ #14
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
показ ошибок у меня вроде включен. но ничего кроме этой ошибки в админке не выдает.