Question

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?

Was it helpful?

Solution 3

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);

OTHER TIPS

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

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')
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top