MetaModels / core

MetaModels Core Module
GNU Lesser General Public License v3.0
96 stars 42 forks source link

[TNG] Contao 3.2.12 - Filter verursacht Fehler #491

Closed jgrotstabel closed 10 years ago

jgrotstabel commented 10 years ago

Wenn ich mit der neuen Version einen Filter anlegen will kommt eine Fehlermeldung im backend:

Recoverable error: Argument 1 passed to MetaModels\Dca\Module::getFilterParameterNames() must be an instance of Contao\Database\Result, instance of Contao\DC_Table given, called in /...LINK.../system/modules/core/library/Contao/Widget.php on line 1272 and defined in system/modules/metamodels/MetaModels/Dca/Module.php on line 126

#0 system/modules/metamodels/MetaModels/Dca/Module.php(126): __error(4096, 'Argument 1 pass...', '/kunden/182578_...', 126, Array)
#1 system/modules/core/library/Contao/Widget.php(1272): MetaModels\Dca\Module->getFilterParameterNames(Object(Contao\DC_Table))
#2 system/modules/core/classes/DataContainer.php(249): Contao\Widget::getAttributesFromDca(Array, 'metamodel_fef_p...', '', 'metamodel_fef_p...', 'tl_module', Object(Contao\DC_Table))
#3 system/modules/core/drivers/DC_Table.php(1881): Contao\DataContainer->row('{title_legend},...')
#4 system/modules/core/classes/Backend.php(430): Contao\DC_Table->edit()
#5 contao/main.php(142): Contao\Backend->getBackendModule('themes')
#6 contao/main.php(293): Main->run()
#7 {main}

Warning: Cannot modify header information - headers already sent by (output started at /...LINK.../system/helper/functions.php:70) in system/modules/core/library/Contao/Template.php on line 298

#0 [internal function]: __error(2, 'Cannot modify h...', '/kunden/182578_...', 298, Array)
#1 system/modules/core/library/Contao/Template.php(298): header('Vary: User-Agen...', false)
#2 system/modules/core/classes/BackendTemplate.php(162): Contao\Template->output()
#3 contao/main.php(284): Contao\BackendTemplate->output()
#4 contao/main.php(146): Main->output()
#5 contao/main.php(293): Main->run()
#6 {main}

Warning: Cannot modify header information - headers already sent by (output started at /...LINK.../system/helper/functions.php:70) in system/modules/core/library/Contao/Template.php on line 299

#0 [internal function]: __error(2, 'Cannot modify h...', '/kunden/182578_...', 299, Array)
#1 system/modules/core/library/Contao/Template.php(299): header('Content-Type: t...')
#2 system/modules/core/classes/BackendTemplate.php(162): Contao\Template->output()
#3 contao/main.php(284): Contao\BackendTemplate->output()
#4 contao/main.php(146): Main->output()
#5 contao/main.php(293): Main->run()
#6 {main}
'''
jgrotstabel commented 10 years ago
Warning: Cannot modify header information - headers already sent by (output started at /kunden/182578_70794/rp-hosting/6201/7201/contaocms/2014_04_04_winkels/system/helper/functions.php:70) in system/modules/core/library/Contao/System.php on line 484

#0 [internal function]: __error(2, 'Cannot modify h...', '/kunden/182578_...', 484, Array)
#1 system/modules/core/library/Contao/System.php(484): setcookie('BE_PAGE_OFFSET', '0', 0, '/', '', false, false)
#2 system/modules/core/templates/backend/be_main.html5(123): Contao\System::setCookie('BE_PAGE_OFFSET', 0, 0)
#3 system/modules/core/library/Contao/Template.php(276): include('/LINKentfernt...')
#4 system/modules/core/classes/BackendTemplate.php(37): Contao\Template->parse()
#5 system/modules/core/classes/BackendTemplate.php(149): Contao\BackendTemplate->parse()
#6 contao/main.php(284): Contao\BackendTemplate->output()
#7 contao/main.php(146): Main->output()
#8 contao/main.php(293): Main->run()
#9 {main}
jgrotstabel commented 10 years ago

Und das passiert dann im Frontend:

Fatal error: Uncaught exception RuntimeException with message Error: Filtersetting 0 not attached to a MetaModel thrown in system/modules/metamodels/MetaModels/Filter/Setting/Collection.php on line 121

#0 system/modules/metamodels/MetaModels/Filter/Setting/Collection.php(244): MetaModels\Filter\Setting\Collection->getMetaModel()
#1 system/modules/metamodels/MetaModels/FrontendIntegration/FrontendFilter.php(224): MetaModels\Filter\Setting\Collection->getParameterFilterWidgets(Array, Array, Object(MetaModels\FrontendIntegration\FrontendFilterOptions))
#2 system/modules/metamodels/MetaModels/FrontendIntegration/FrontendFilter.php(73): MetaModels\FrontendIntegration\FrontendFilter->getFilters()
#3 system/modules/metamodels/MetaModels/FrontendIntegration/Module/Filter.php(75): MetaModels\FrontendIntegration\FrontendFilter->getMetaModelFrontendFilter(Object(MetaModels\FrontendIntegration\Module\Filter))
#4 system/modules/core/modules/Module.php(148): MetaModels\FrontendIntegration\Module\Filter->compile()
#5 system/modules/metamodels/MetaModels/FrontendIntegration/Module/Filter.php(63): Contao\Module->generate()
#6 system/modules/core/elements/ContentModule.php(63): MetaModels\FrontendIntegration\Module\Filter->generate()
#7 system/modules/core/library/Contao/Controller.php(456): Contao\ContentModule->generate()
#8 system/modules/core/modules/ModuleArticle.php(196): Contao\Controller->getContentElement(Object(Contao\ContentModel), 'main')
#9 system/modules/core/modules/Module.php(148): Contao\ModuleArticle->compile()
#10 system/modules/core/modules/ModuleArticle.php(59): Contao\Module->generate()
#11 system/modules/core/library/Contao/Controller.php(392): Contao\ModuleArticle->generate(false)
#12 system/modules/core/library/Contao/Controller.php(254): Contao\Controller->getArticle(Object(Contao\ArticleModel), false, false, 'main')
#13 system/modules/core/pages/PageRegular.php(138): Contao\Controller->getFrontendModule('0', 'main')
#14 index.php(256): Contao\PageRegular->generate(Object(Contao\PageModel), true)
#15 index.php(440): Index->run()
#16 {main}
andreasisaak commented 10 years ago

Kannst du bitte erstmal deinen Code auch als Code kennzeichnen? ;)

jgrotstabel commented 10 years ago

Das ist mir gerade echt ein wenig peinlich, aber kannst Du mir kurz sagen wie das hier funktioniert?

tim-bec commented 10 years ago

@jgrotstabel siehe https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown "Syntax Highlight"

jgrotstabel commented 10 years ago

Ok, erledigt! Sorry @andreasisaak Danke @tim-bec

tim-bec commented 10 years ago

@jgrotstabel ich kann den Fehler bei mir core 2e73b780 dcg aa1ae903 cto 3.2.10 nicht nachvollziehen - kannst du genauer beschreiben, wie ich das reproduzieren könnte?

jgrotstabel commented 10 years ago

@tim-bec Ich habe eine Contao 3.2.12 Installation und darin die [TNG] Version von MetaModels laufen. Jedes mal wenn ich ein Modul "MetaModels-Frontendfilter" anlegen will kommt folgende Fehlermeldung.

Recoverable error: Argument 1 passed to MetaModels\Dca\Module::getFilterParameterNames() must be an instance of Contao\Database\Result, instance of Contao\DC_Table given, called in /----Serverpfad-----/system/modules/core/library/Contao/Widget.php on line 1272 and defined in system/modules/metamodels/MetaModels/Dca/Module.php on line 126

#0 system/modules/metamodels/MetaModels/Dca/Module.php(126): __error(4096, 'Argument 1 pass...', '/Serverpfad_...', 126, Array)
#1 system/modules/core/library/Contao/Widget.php(1272): MetaModels\Dca\Module->getFilterParameterNames(Object(Contao\DC_Table))
#2 system/modules/core/classes/DataContainer.php(249): Contao\Widget::getAttributesFromDca(Array, 'metamodel_fef_p...', NULL, 'metamodel_fef_p...', 'tl_module', Object(Contao\DC_Table))
#3 system/modules/core/drivers/DC_Table.php(1881): Contao\DataContainer->row('{title_legend},...')
#4 system/modules/core/classes/Backend.php(430): Contao\DC_Table->edit()
#5 contao/main.php(142): Contao\Backend->getBackendModule('themes')
#6 contao/main.php(293): Main->run()
#7 {main}

Und wenn ich diese Fehlerseite, auf der ich auch nichts mehr machen kann überspringe und das Modul aufrufe. Stehen über den Moduleinstellungen die fehlermeldungen die ich oben gepostet habe. Ich habe das schon etliche Male durchgespielt, der Fehler kommt immer wieder.

Das System läuft unter PHP 5.4.16 und der Installcheck zeigt keinerlei Probleme. Auch im Installtool scheint alles ok zu sein.

Soll ich Dir alternativ mal einen Zugang zum System geben?

discordier commented 10 years ago

See https://github.com/MetaModels/core/commit/5a0ec92a46a4654efff249d4959bac65dc23f9e5 and #488