Heim >Backend-Entwicklung >PHP-Tutorial >Der Volt-Motor funktioniert im Phalcon nicht
Im generierten Multi-Modul-Projekt funktioniert die Volt-Engine nicht, das Laden von JS und CSS reagiert nicht, Partials funktionieren nicht und die Ansicht kann nicht ausgegeben werden. Es scheint, dass die Volt-Engine nicht erfolgreich registriert wurde hat es andere Gründe?
ps: Aber es kommt mit einem eigenen Motor. Dateien im Format mit der Endung .phtml können gemäß Handbuch JS-, CSS- und Partials-Dateien importieren. Was muss auf der Grundlage des oben Gesagten nach der Änderung des Suffixes in das .volt-Format noch geändert werden, damit es funktioniert?
Verzeichnisstruktur
Das Folgende ist Teil des Codes in config/services.php, der beim Generieren des Projekts automatisch generiert wird
<code>$di->setShared('view', function () use ($config) { $view = new View(); $view->setViewsDir($config->application->viewsDir); $view->registerEngines(array( '.volt' => function ($view, $di) use ($config) { $volt = new VoltEngine($view, $di); $volt->setOptions(array( 'compiledPath' => $config->application->cacheDir, 'compiledSeparator' => '_' )); return $volt; }, '.phtml' => 'Phalcon\Mvc\View\Engine\Php' // '.volt' => 'Phalcon\Mvc\View\Engine\Php' )); return $view; });</code>
Module.php unter dem Modul ist immer noch dasselbe wie bei der Projektgenerierung und hat sich nicht geändert!
In views/index.volt
Teiltöne werden geladen
<code>{{ partial("partials/header") }} {{ partial("partials/main") }} {{ partial("partials/footer") }}</code>
js laden
<code>{{ javascript_include("/js/1.11.3.jquery.min.js") }}</code>
Im generierten Multi-Modul-Projekt funktioniert die Volt-Engine nicht, das Laden von JS und CSS reagiert nicht, Partials funktionieren nicht und die Ansicht kann nicht ausgegeben werden. Es scheint, dass die Volt-Engine nicht erfolgreich registriert wurde hat es andere Gründe?
ps: Aber es kommt mit einem eigenen Motor. Dateien im Format mit der Endung .phtml können gemäß Handbuch JS-, CSS- und Partials-Dateien importieren. Was muss auf der Grundlage des oben Gesagten nach der Änderung des Suffixes in das .volt-Format noch geändert werden, damit es funktioniert?
Verzeichnisstruktur
Das Folgende ist Teil des Codes in config/services.php, der beim Generieren des Projekts automatisch generiert wird
<code>$di->setShared('view', function () use ($config) { $view = new View(); $view->setViewsDir($config->application->viewsDir); $view->registerEngines(array( '.volt' => function ($view, $di) use ($config) { $volt = new VoltEngine($view, $di); $volt->setOptions(array( 'compiledPath' => $config->application->cacheDir, 'compiledSeparator' => '_' )); return $volt; }, '.phtml' => 'Phalcon\Mvc\View\Engine\Php' // '.volt' => 'Phalcon\Mvc\View\Engine\Php' )); return $view; });</code>
Module.php unter dem Modul ist immer noch das gleiche wie bei der Projektgenerierung und hat sich nicht geändert!
In views/index.volt
Teiltöne werden geladen
<code>{{ partial("partials/header") }} {{ partial("partials/main") }} {{ partial("partials/footer") }}</code>
js laden
<code>{{ javascript_include("/js/1.11.3.jquery.min.js") }}</code>
Veröffentlichen Sie den Codeteil für die Registrierung Ihrer Volt-Vorlage in DI
Veröffentlichen Sie den Codeteil für das Laden von JS und CSS
Veröffentlichen Sie den Codeteil für die teilweise Verwendung
Veröffentlichen Sie den Code! Poste den Code! Poste den Code! Reden wir noch einmal über drei! Codebezogene Fragen zu stellen, ohne den Code zu veröffentlichen, ist ein Rowdy
<code>$di->set('view', function () use ($config) { $view = new View(); $view->setViewsDir(APP_PATH . $config->application->layouts_dir); $view->registerEngines( array( '.volt' => function ($view, $di) use ($config) { $volt = new VoltExtension($view, $di); $volt->setOptions( array( 'compiledPath' => APP_PATH . $config->application->cache_dir, 'compileAlways' => $config->application->debug, 'compiledSeparator' => '_', 'layoutDir' => $config->application->layouts_dir, )); if (!empty($config->volt->extensions)) { foreach ($config->volt->extensions as $extension_class_name) { $di->get('volt.extension')->register($volt, new $extension_class_name($di)); } } return $volt; }, '.phtml' => 'Phalcon\Mvc\View\Engine\Php' ...... )); return $view; }, true);</code>
Verzeichnisstruktur
Das Folgende ist Teil des Codes in config/services.php, der beim Generieren des Projekts automatisch generiert wird
<code>$di->setShared('view', function () use ($config) { $view = new View(); $view->setViewsDir($config->application->viewsDir); $view->registerEngines(array( '.volt' => function ($view, $di) use ($config) { $volt = new VoltEngine($view, $di); $volt->setOptions(array( 'compiledPath' => $config->application->cacheDir, 'compiledSeparator' => '_' )); return $volt; }, '.phtml' => 'Phalcon\Mvc\View\Engine\Php' // '.volt' => 'Phalcon\Mvc\View\Engine\Php' )); return $view; });</code>
Module.php unter dem Modul ist immer noch das gleiche wie bei der Projektgenerierung und hat sich nicht geändert!
In views/index.volt
Teiltöne werden geladen
<code>{{ partial("partials/header") }} {{ partial("partials/main") }} {{ partial("partials/footer") }}</code>
js laden
<code>{{ javascript_include("/js/1.11.3.jquery.min.js") }}</code>