-
Model not found
Guten Morgen,
ich habe seit gestern massive Probleme mit meinen Modeln, die teilweise plötzlich nicht mehr gefunden werden. Eines davon wird nicht einmal vom Autoloader in die autoload geschrieben, ein anderes zwar schon, aber in der Anwendung dann nicht gefunden.
Das Model:
PHP-Code:
<?php
namespace Contao;
/**
* @package Models
*/
class PanelSectionModel extends \Model
{
protected static $strTable = 'tl_panel_section';
}
Der Aufruf (Beispiel):
PHP-Code:
namespace Diagnostik;
use Contao\PanelSectionModel;
class ModuleNGSImport extends \Module
{
/**
* Template
* @var string
*/
protected $strTemplate = 'import';
private $m_message = array();
private $m_hasSections = false;
public function generate(){
return parent::generate();
}
/**
* Generate the module
*/
protected function compile(){
$panelSection = new PanelSectionModel();
}
Ich hab schon Stundenlang alles versucht, aber kann das Problem einfach nicht finden :(
-
Trag das Model doch einfach mal manuell in die autoloader.php ein
Und lautet der Dateiname des Models genauso wie die Klasse, also PanelSectionModel.php
-
Das hier vielleicht der Fehler:
PHP-Code:
$panelSection = new \PanelSectionModel();
Grüße
Sascha
-
Ich habe es bereits manuell in die autoload eingetragen, finden tut er es dann leider trotzdem nicht :(
Und ja der Dateiname lautet exakt wie der Klassenname.
Am Backslash liegt es leider auch nicht, hatte ich auch schonmal versucht.
-
Kannst Du mal Auszüge aus deiner system/logs/error.log posten?
-
Klar:
Code:
[08-Jul-2016 09:41:53 Europe/Berlin] PHP Fatal error: Class 'AcSearchIndexCron' not found in /Users/daniel/Documents/Projekte/MRZ_TEST/mgz-test/system/modules/core/library/Contao/System.php on line 110
[08-Jul-2016 09:54:56 Europe/Berlin] PHP Fatal error: Class 'Contao\NgsConPanelSectionModel' not found in /Users/daniel/Documents/Projekte/MRZ_TEST/mgz-test/system/modules/mgz/modules/ModuleNGSImport.php on line 249
[08-Jul-2016 10:00:16 Europe/Berlin] PHP Fatal error: Class 'NgsConPanelSectionModel' not found in /Users/daniel/Documents/Projekte/MRZ_TEST/mgz-test/system/modules/mgz/modules/ModuleNGSImport.php on line 249
[08-Jul-2016 10:03:03 Europe/Berlin] PHP Fatal error: Class 'NgsConPanelSectionModel' not found in /Users/daniel/Documents/Projekte/MRZ_TEST/mgz-test/system/modules/mgz/modules/ModuleNGSImport.php on line 249
[08-Jul-2016 10:03:14 Europe/Berlin] PHP Fatal error: Class 'NgsConPanelSectionModel' not found in /Users/daniel/Documents/Projekte/MRZ_TEST/mgz-test/system/modules/mgz/modules/ModuleNGSImport.php on line 249
[08-Jul-2016 10:04:11 Europe/Berlin] PHP Fatal error: Class 'Contao\NgsConPanelSectionModel' not found in /Users/daniel/Documents/Projekte/MRZ_TEST/mgz-test/system/modules/mgz/modules/ModuleNGSImport.php on line 249
[08-Jul-2016 10:07:23 Europe/Berlin] PHP Fatal error: Class 'Contao\NgsConPanelSectionModel' not found in /Users/daniel/Documents/Projekte/MRZ_TEST/mgz-test/system/modules/mgz/modules/ModuleNGSImport.php on line 249
[08-Jul-2016 10:08:36 Europe/Berlin] PHP Fatal error: Class 'Contao\NgsConPanelSectionModel' not found in /Users/daniel/Documents/Projekte/MRZ_TEST/mgz-test/system/modules/mgz/modules/ModuleNGSImport.php on line 249
[08-Jul-2016 10:10:39 Europe/Berlin] PHP Fatal error: Class 'Contao\NgsConPanelSectionModel' not found in /Users/daniel/Documents/Projekte/MRZ_TEST/mgz-test/system/modules/mgz/modules/ModuleNGSImport.php on line 249
[08-Jul-2016 10:17:23 Europe/Berlin] PHP Fatal error: Class 'Contao\NgsConnectionModel' not found in /Users/daniel/Documents/Projekte/MRZ_TEST/mgz-test/system/modules/mgz/modules/ModuleNGSImport.php on line 250
[08-Jul-2016 10:21:44 Europe/Berlin] PHP Fatal error: Class 'Contao\NgsConPanelSectionModel' not found in /Users/daniel/Documents/Projekte/MRZ_TEST/mgz-test/system/modules/mgz/modules/ModuleNGSImport.php on line 250
-
Wie genau sieht der Eintrag in der autoload.php aus?
-
Inzwischen funktioniert das auch automatisch, nur wird die Klasse trotzdem nicht gefunden :(:
Code:
<?php
/**
* Contao Open Source CMS
*
* Copyright (c) 2005-2016 Leo Feyer
*
* @package Mgz
* @link https://contao.org
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
*/
/**
* Register the namespaces
*/
ClassLoader::addNamespaces(array
(
'MGZDiagnostik',
));
/**
* Register the classes
*/
ClassLoader::addClasses(array
(
// Models
'Contao\MgzApModel' => 'system/modules/mgz/models/MgzApModel.php',
'Contao\MgzDiagnosesModel' => 'system/modules/mgz/models/MgzDiagnosesModel.php',
'Contao\MgzDiagnosticsModel' => 'system/modules/mgz/models/MgzDiagnosticsModel.php',
'Contao\MgzGenesModel' => 'system/modules/mgz/models/MgzGenesModel.php',
'Contao\MgzGroupsModel' => 'system/modules/mgz/models/MgzGroupsModel.php',
'Contao\MGZImportModel' => 'system/modules/mgz/models/MGZImportModel.php',
'Contao\MgzMaterialModel' => 'system/modules/mgz/models/MgzMaterialModel.php',
'Contao\MgzMethodsModel' => 'system/modules/mgz/models/MgzMethodsModel.php',
'Contao\MGZModel' => 'system/modules/mgz/models/MGZModel.php',
'Contao\MgzPanelsModel' => 'system/modules/mgz/models/MgzPanelsModel.php',
'Contao\MgzSegmentsModel' => 'system/modules/mgz/models/MgzSegmentsModel.php',
'Contao\MgzSubpanelsModel' => 'system/modules/mgz/models/MgzSubpanelsModel.php',
'Contao\NgsConPanelSectionModel' => 'system/modules/mgz/models/NgsConPanelSectionModel.php',
'Contao\NgsPanelDetailModel' => 'system/modules/mgz/models/NgsPanelDetailModel.php',
'Contao\NgsPanelModel' => 'system/modules/mgz/models/NgsPanelModel.php',
'Contao\NgsSectionDetailModel' => 'system/modules/mgz/models/NgsSectionDetailModel.php',
'Contao\NgsSectionModel' => 'system/modules/mgz/models/NgsSectionModel.php',
'Contao\NgsSubSectionModel' => 'system/modules/mgz/models/NgsSubSectionModel.php',
// Modules
'MGZDiagnostik\ModuleMGZ' => 'system/modules/mgz/modules/ModuleMGZ.php',
'MGZDiagnostik\ModuleMGZAp' => 'system/modules/mgz/modules/ModuleMGZAp.php',
'MGZDiagnostik\ModuleMGZApSidebar' => 'system/modules/mgz/modules/ModuleMGZApSidebar.php',
'MGZDiagnostik\ModuleMGZBreadcrumb' => 'system/modules/mgz/modules/ModuleMGZBreadcrumb.php',
'MGZDiagnostik\ModuleMGZDiagnosesDetail' => 'system/modules/mgz/modules/ModuleMGZDiagnosesDetail.php',
'MGZDiagnostik\ModuleMGZDiagnosesList' => 'system/modules/mgz/modules/ModuleMGZDiagnosesList.php',
'MGZDiagnostik\ModuleMGZGenDiagnosesList' => 'system/modules/mgz/modules/ModuleMGZGenDiagnosesList.php',
'MGZDiagnostik\ModuleMGZGenes' => 'system/modules/mgz/modules/ModuleMGZGenes.php',
'MGZDiagnostik\ModuleMGZGenesUnassigned' => 'system/modules/mgz/modules/ModuleMGZGenesUnassigned.php',
'MGZDiagnostik\ModuleMGZGenSearchResult' => 'system/modules/mgz/modules/ModuleMGZGenSearchResult.php',
'MGZDiagnostik\ModuleMGZImport' => 'system/modules/mgz/modules/ModuleMGZImport.php',
'MGZDiagnostik\ModuleMGZIndex' => 'system/modules/mgz/modules/ModuleMGZIndex.php',
'MGZDiagnostik\ModuleMGZMethods' => 'system/modules/mgz/modules/ModuleMGZMethods.php',
'MGZDiagnostik\ModuleMGZNgs' => 'system/modules/mgz/modules/ModuleMGZNgs.php',
'MGZDiagnostik\ModuleMGZPanelSearchResult' => 'system/modules/mgz/modules/ModuleMGZPanelSearchResult.php',
'MGZDiagnostik\ModuleMGZSegments' => 'system/modules/mgz/modules/ModuleMGZSegments.php',
'MGZDiagnostik\ModuleMGZSidebar' => 'system/modules/mgz/modules/ModuleMGZSidebar.php',
'MGZDiagnostik\ModuleNGSImport' => 'system/modules/mgz/modules/ModuleNGSImport.php',
));
/**
* Register the templates
*/
TemplateLoader::addFiles(array
(
'mod_diagnoses' => 'system/modules/mgz/templates',
'mod_diagnoses_detail' => 'system/modules/mgz/templates',
'mod_diagnoses_detail_print' => 'system/modules/mgz/templates',
'mod_diagnoses_list' => 'system/modules/mgz/templates',
'mod_diagnosessidebar' => 'system/modules/mgz/templates',
'mod_gen_diagnoses_list' => 'system/modules/mgz/templates',
'mod_gene_import' => 'system/modules/mgz/templates',
'mod_genes_unassigned' => 'system/modules/mgz/templates',
'mod_index' => 'system/modules/mgz/templates',
'mod_mgz_ap' => 'system/modules/mgz/templates',
'mod_mgz_ap_sidebar' => 'system/modules/mgz/templates',
'mod_mgz_breadcrumb' => 'system/modules/mgz/templates',
'mod_mgz_gen_searchresult' => 'system/modules/mgz/templates',
'mod_mgz_panel_searchresult' => 'system/modules/mgz/templates',
'mod_ngs' => 'system/modules/mgz/templates',
'mod_ngs_import' => 'system/modules/mgz/templates',
'mod_segments' => 'system/modules/mgz/templates',
));
-
-
Du mixet hier ganz schoen durch die Gegend...
Du hast den Namespace registriert, aber deine Klassen sind im Namespace , du bist nicht Contao, also benutze bitte deinen eigenen Namespace und nicht unseren.
Ansonsten solltest du dir die Dokumentation mal ansehen. https://docs.contao.org/books/cookbo...toloading.html
Ansonsten:
unten schreibst du, deine Klassendatei definiert eine Klasse "PanelSectionModel", deine autoload hingegen definiert eine "Contao\NgsConPanelSectionModel", das passt nicht zusammen.
Bitte einmal alles gerade ziehen und vorzugsweise den code auf github oder so, dann kann man mal rein sehen.
-
Habs gefunden, danke euch für die Antworten!
Das Problem war der interne Cache der nicht deaktiviert war :)