我想基于数据库数据将默认内容添加到tinymce编辑器中:
控制器:
@if(isset($page_content))
@forelse ($page_content['getMediaItems'] as $index => $item)
@include('scripts.tinymce.tinymce-multiple-init',compact('index'))
@empty
{{'Woops..'}}
@endforelse
@else
@include('scripts.tinymce.tinymce-single-init')
@endif
因此,当有多个媒体项目时,我想将默认文本添加到编辑器
现在我想要在include页面上的init函数内部进行迭代(索引):
tinymce.init({
setup:function(ed) {
//Stuff here
},
selector: '.js-editable-media',
menubar:false,
inline: true,
plugins: "textcolor colorpicker",
toolbar: [
'undo redo forecolor'
],
my_custom_variable: {!! $index !!}
});
现在{!! $ index !!}只返回0而不是迭代次数。但是当我把索引参数ouside放在函数中时,它返回正确的数字:
console.log({!! $index!!}); //showing correct iteration
tinymce.init({
.....
console.log({!! $index!!}); //showing only 0
});
请帮忙
答案 0 :(得分:0)
$index
是一个关键,这就是为什么它在第一次迭代中是0
的原因。如果要传递值,则应传递$item
:
@include('scripts.tinymce.tinymce-multiple-init', compact('item'))
然后:
my_custom_variable: {!! $item !!}
此外,在JS中硬编码PHP是一种不好的做法。考虑其他传递数据的方法。