Heim  >  Artikel  >  Backend-Entwicklung  >  Der Volt-Motor funktioniert im Phalcon nicht

Der Volt-Motor funktioniert im Phalcon nicht

WBOY
WBOYOriginal
2016-08-25 10:37:131512Durchsuche

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

Der Volt-Motor funktioniert im Phalcon nicht

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>

Antwortinhalt:

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

Der Volt-Motor funktioniert im Phalcon nicht

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

Der Volt-Motor funktioniert im Phalcon nicht

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>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn