Is that possible to use laravel blade outside the view folder?

前端 未结 3 706
面向向阳花
面向向阳花 2021-02-06 13:42

I got a wordpress blog inside the public sub folder.

I wanted to use same layout with the laravel view that using blade.

Is there anyway to achieve that?

相关标签:
3条回答
  • 2021-02-06 14:01

    You can define a custom namespace for easier usage:

    // Register your custom namespace in your AppServiceProvider in the boot() method
    view()->addNamespace('custom_views', app_path('custom_path'));
    
    // usage:
    view('custom_views::some.view.name')
    
    0 讨论(0)
  • 2021-02-06 14:13

    I managed to do this with the following function:

    function bladeCompile ($from, $to, $data)
    {
        $fs = new \Illuminate\Filesystem\Filesystem;
        $b = new \Illuminate\View\Compilers\BladeCompiler($fs, __DIR__);
        $src = $b->compileString (file_get_contents($from));
    
        $isPhp = false;
        if (substr( $src, 0, 5 ) === "<?php")
        {
            $isPhp = true;
            $src = substr($src, 5);
        }
        $tempFileName = tempnam("/tmp", "blade-compile");
        file_put_contents($tempFileName, $src);
    
        ob_start();
    
        extract($data);
    
        include $tempFileName;
        $out = ob_get_clean();
        if ($isPhp)
        {
            $out = '<?php'.$out;
        }
        file_put_contents($to, $out);
    }
    

    And then use with:

    $data = array ( // equivalent to the 'with' function.
        'parameter' => 'value';
        );
    bladeCompile ('input.blade.file', 'result.file', $data);
    
    0 讨论(0)
  • 2021-02-06 14:15

    Yous just need to add your paths to app/config/view.php and blade will automatically find them

    0 讨论(0)
提交回复
热议问题