Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2.3.2] PHP 7 Kompatibilität (Produktliste) #1584

Closed
baumisimon opened this issue Dec 8, 2015 · 10 comments
Closed

[2.3.2] PHP 7 Kompatibilität (Produktliste) #1584

baumisimon opened this issue Dec 8, 2015 · 10 comments
Assignees
Labels
Milestone

Comments

@baumisimon
Copy link

Die Produktliste scheint noch nicht ganz mit PHP 7 kompatibel zu sein.
Im Frontend bekomme ich auf Seiten mit einer Produktliste folgende Fehlermeldung:

Fatal error: Uncaught exception Error with message Function name must be a string thrown in system/modules/isotope/library/Isotope/Model/Product/Standard.php on line 660

#0 system/modules/isotope/library/Isotope/Module/ProductList.php(271): Isotope\Model\Product\Standard->generate(Array)
#1 system/modules/core/modules/Module.php(282): Isotope\Module\ProductList->compile()
#2 system/modules/isotope/library/Isotope/Module/Module.php(112): Contao\Module->generate()
#3 system/modules/isotope/library/Isotope/Module/ProductList.php(114): Isotope\Module\Module->generate()
#4 system/modules/core/elements/ContentModule.php(59): Isotope\Module\ProductList->generate()
#5 system/modules/core/library/Contao/Controller.php(476): Contao\ContentModule->generate()
#6 system/modules/core/modules/ModuleArticle.php(213): Contao\Controller::getContentElement(Object(Contao\ContentModel), 'main')
#7 system/modules/core/modules/Module.php(282): Contao\ModuleArticle->compile()
#8 system/modules/core/modules/ModuleArticle.php(67): Contao\Module->generate()
#9 system/modules/core/library/Contao/Controller.php(409): Contao\ModuleArticle->generate(false)
#10 system/modules/core/library/Contao/Controller.php(269): Contao\Controller::getArticle(Object(Contao\ArticleModel), false, false, 'main')
#11 system/modules/core/pages/PageRegular.php(133): Contao\Controller::getFrontendModule('0', 'main')
#12 system/modules/core/controllers/FrontendIndex.php(267): Contao\PageRegular->generate(Object(Contao\PageModel), true)
#13 index.php(20): Contao\FrontendIndex->run()
#14 {main}

Im Backend (beim Versuch das Produktliste-Modul zu bearbeiten) folgende:

Fatal error: Uncaught exception Error with message Function name must be a string thrown in system/modules/isotope/library/Isotope/Backend/Module/Callback.php on line 170

#0 system/modules/core/library/Contao/Widget.php(1388): Isotope\Backend\Module\Callback->getButtons(Object(Contao\DC_Table))
#1 system/modules/core/classes/DataContainer.php(265): Contao\Widget::getAttributesFromDca(Array, 'iso_buttons', '', 'iso_buttons', 'tl_module', Object(Contao\DC_Table))
#2 system/modules/core/drivers/DC_Table.php(1945): Contao\DataContainer->row('{title_legend},...')
#3 system/modules/core/classes/Backend.php(650): Contao\DC_Table->edit()
#4 system/modules/core/controllers/BackendMain.php(131): Contao\Backend->getBackendModule('themes')
#5 contao/main.php(20): Contao\BackendMain->run()
#6 {main}

Das Ganze läuft auf 1und1 Hosting mit (seit heute verfügbarem) finalem PHP 7.
Contao-Version ist 3.5.6.

@Toflar
Copy link
Member

Toflar commented Dec 8, 2015

Isotope ist gänzlich ungetestet auf PHP7, da dürften noch viel mehr Issues zu finden sein?

@baumisimon
Copy link
Author

Ach so, in der News von 31.7. heißt es zu Isotope 2.3 RC2 aber:

Wichtig: Contao ist ab Version 3.5.2 mit PHP 7 kompatibel. Da sind wir gleich mitgezogen, insofern benötigt Isotope 2.3 auch mindestens Contao 3.5.2.

Deshalb dachte ich, das geht schon mit PHP 7.

@Toflar
Copy link
Member

Toflar commented Dec 8, 2015

Wir haben dieselben Änderungen vorgenommen, aber Isotope noch nicht auf PHP 7 eingesetzt. Wie wär's mit einen feature/php7 branch auf den wir die ganzen Sachen committen die du gerade meldest? Dann könntest du weitertesten, weil ich hab grad nirgendwo ein Isotope-Projekt mit PHP 7 rumliegen.

@baumisimon
Copy link
Author

Ja, gerne.

@Toflar
Copy link
Member

Toflar commented Dec 8, 2015

Das wäre der Branch: https://github.com/isotope/core/tree/hotifx/php7-support
Bitte den testen (basiert auf der aktuellen 2.3.2).

@Toflar Toflar added the feature label Dec 8, 2015
@Toflar Toflar added this to the 2.3.3 milestone Dec 8, 2015
@Toflar Toflar self-assigned this Dec 8, 2015
@baumisimon
Copy link
Author

Schaut schon fast gut aus. Der MultiColumnWizard (Function name must be a string) und das notification_center ("String" als Klassenname) machen noch bisschen zicken (muss ich noch melden).

Und im letzten Bestellschritt wird mir eine Warning ausgegeben:

Warning: Declaration of Isotope\Model\ProductCollection\Order::addItemsToTemplate(Isotope\Template $objTemplate, $varCallable = NULL) should be compatible with Isotope\Model\ProductCollection::addItemsToTemplate(Template $objTemplate, $varCallable = NULL) in system/modules/isotope/library/Isotope/Model/ProductCollection/Order.php on line 51

#0 system/modules/isotope/library/Isotope/Model/ProductCollection/Order.php(51): __error(2, 'Declaration of ...', '/homepages/xx/x...', 51, Array)
#1 system/modules/_autoload/library/Composer/Autoload/ClassLoader.php(363): include('/homepages/xx/x...')
#2 system/modules/_autoload/library/Composer/Autoload/ClassLoader.php(269): Composer\Autoload\includeFile('/homepages/xx/x...')
#3 [internal function]: Composer\Autoload\ClassLoader->loadClass('Isotope\\Model\\P...')
#4 system/modules/isotope/library/Isotope/Model/ProductCollection/Cart.php(156): spl_autoload_call('Isotope\\Model\\P...')
#5 system/modules/isotope/library/Isotope/CheckoutStep/BillingAddress.php(56): Isotope\Model\ProductCollection\Cart->getDraftOrder()
#6 system/modules/isotope/library/Isotope/Module/Checkout.php(381): Isotope\CheckoutStep\BillingAddress->review()
#7 system/modules/isotope/library/Isotope/CheckoutStep/OrderInfo.php(41): Isotope\Module\Checkout->getCheckoutInfo()
#8 system/modules/isotope/library/Isotope/Module/Checkout.php(279): Isotope\CheckoutStep\OrderInfo->generate()
#9 system/modules/isotope/library/Isotope/Module/Checkout.php(236): Isotope\Module\Checkout->generateSteps(Array)
#10 system/modules/core/modules/Module.php(282): Isotope\Module\Checkout->compile()
#11 system/modules/isotope/library/Isotope/Module/Module.php(112): Contao\Module->generate()
#12 system/modules/isotope/library/Isotope/Module/Checkout.php(85): Isotope\Module\Module->generate()
#13 system/modules/core/elements/ContentModule.php(59): Isotope\Module\Checkout->generate()
#14 system/modules/core/library/Contao/Controller.php(476): Contao\ContentModule->generate()
#15 system/modules/core/modules/ModuleArticle.php(213): Contao\Controller::getContentElement(Object(Contao\ContentModel), 'main')
#16 system/modules/core/modules/Module.php(282): Contao\ModuleArticle->compile()
#17 system/modules/core/modules/ModuleArticle.php(67): Contao\Module->generate()
#18 system/modules/core/library/Contao/Controller.php(409): Contao\ModuleArticle->generate(false)
#19 system/modules/core/library/Contao/Controller.php(269): Contao\Controller::getArticle(Object(Contao\ArticleModel), false, false, 'main')
#20 system/modules/core/pages/PageRegular.php(133): Contao\Controller::getFrontendModule('0', 'main')
#21 system/modules/core/controllers/FrontendIndex.php(267): Contao\PageRegular->generate(Object(Contao\PageModel), true)
#22 index.php(20): Contao\FrontendIndex->run()
#23 {main}

Ansonsten ist mir jetzt nichts aufgefallen...

@Toflar
Copy link
Member

Toflar commented Dec 8, 2015

Das ist ein anderes Problem. @aschempp Irgend einen Grund warum die ProductCollection das normale Template erwartet und Order die Isotope\Template?

@Toflar
Copy link
Member

Toflar commented Dec 8, 2015

BTW, die PHP7-Änderungen hab ich in den 2.3.3 Hotfix gepusht.

@aschempp
Copy link
Member

aschempp commented Dec 8, 2015

Nope. Fixed in the hotfix/2.3.3 branch.

@Toflar
Copy link
Member

Toflar commented Jan 27, 2016

Das kann man z.G. #1602 schliessen :)

@Toflar Toflar closed this as completed Jan 27, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants