Skip to content

Instantly share code, notes, and snippets.

@Xilonz
Created January 16, 2019 09:42
Show Gist options
  • Save Xilonz/29e77d175c55f08172230bdd96ef62ab to your computer and use it in GitHub Desktop.
Save Xilonz/29e77d175c55f08172230bdd96ef62ab to your computer and use it in GitHub Desktop.
Use Sage (and blade) with Carbon Fields
function get_block_template( $template, $args ){
$template = App\locate_template([$template.".blade.php", 'resources/views/partials/blocks/'.$template.'.blade.php']);
$data = collect(get_body_class())->reduce(function ($data, $class) use ($template) {
return apply_filters("sage/template/{$class}/data", $data, $template);
});
/*
* This merges data available in blade templates with data from carbon fields as ${meta_key}
*/
$data = array_merge($data, $args);
if( $template )
echo App\template($template, $data);
else
echo sprintf(__("Template for block %s not found", 'sage'), $template);
}
use Carbon_Fields\Field;
use Carbon_Fields\Block;
Block::make( __( 'Gutenberg block rendered withblade' ) )
->add_fields([ ... ]),
->set_render_callback( function ( $arg ) {
echo get_block_template('block', $arg);
} );
@Xilonz
Copy link
Author

Xilonz commented Jan 16, 2019

If someone knows how to fix $_env = null in blade , please let me know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment