我正在尝试在laravel中编写自定义指令。但是,它只返回我的刀片部分的路径作为字符串,而不是像@include那样的实际html。
AttributeError: Copy instance has no attribute 'l'
我希望自定义指令返回路径中找到的html; authenticated / partials / header2'但是,似乎刀片不能识别路径是我的php中的路径。我的自定义指令存在于AppServiceProvider.php文件btw中。有谁知道@include如何运作得非常好,所以他们可以解释为什么我的道路没有得到认可。
答案 0 :(得分:1)
很酷的问题,它需要一些挖掘,但你可以很容易地复制laravel的功能:
Blade::directive('customInclude', function($partial){
if(Config::get('constants.ORG_ID') === 'organizationId'){
return "<?php echo view($partial); ?>";
}
});
答案 1 :(得分:0)
谢谢Chris的回答。这是对的。但是,如果要将特定变量传递给视图。请执行以下操作
Blade::directive('customInclude', function($partial){
if(Config::get('constants.ORG_ID') === 'organizationId'){
return "<?php echo view($partial,compact('variable1','variable2','variable3')); ?>";
}
});
整个包括变量通过compact()让我失望。