با سلام
دوستان بنده نسخه ۴ CkEditor رو روی پروژه ام لود کردم
زمانی که داخل صفحه و فرم فقط یک TextArea دارم، عکسی رو که برای آپلود انتخاب میکنم، به درستی آپلود میشه
ولی زمانی که داخل صفحه م چند تا TextArea داشته باشم، آپلود عکس فقط برای TextArea اول کار میکنه و برای Textarea های دیگه وقتی عکس رو انتخاب میکنی هیچ اتفاقی نمی افته
ممنون میشم مثل همیشه راهنمایی کنید
<textarea name="desc" id="desc-input" placeholder="متن بیوگرافی را وارد نمایید ..." rows="۵"></textarea>
<script src="{{asset("ckeditor/ckeditor.js")}}"></script>
<script>
CKEDITOR.replace('desc-input',{
language: 'fa',
filebrowserUploadMethod : 'form',
filebrowserBrowseUrl: '{{route('lesson-desc-img-upload')}}',
filebrowserUploadUrl: '{{route('lesson-desc-img-upload')}}',
skin:'moonocolor',
contentsCss: ["body {font-family: Vazir FD}"],
height:'۴۵۰',
toolbarGroups: [{
"name": "basicstyles",
"groups": ["basicstyles"]
},
{
"name": "paragraph",
"groups": ["align", "list", "blocks",]
},
{ "name": "colors", "groups": [ "TextColor", "BGColor" ] },
{
"name": "styles",
"groups": ["styles"]
},
{
"name": "links",
"groups": ["links"]
},
{
"name": "insert",
"groups": ["insert"]
},
{
"name": "document",
"groups": ["mode"]
},
],
removeButtons: 'Subscript,Superscript,Anchor,Flash,SpecialChar,Iframe,PageBreak,NewPage,Save,CreateDiv'
})
</script>
//آپلود کردن عکس در ادیتور
public function uploadDescImg()
{
$this->validate(request(),[
'upload' => 'required|mimes:jpeg,png,jpg,gif'
]);
if (request()->hasFile('upload')) {
$pic_name = 'desc-pics-' . time() . date("Y-m-d") . '.' . request()->file('upload')->getClientOriginalExtension();
if (request()->file('upload')->move('upload/lessons/desc-pics', $pic_name)) {
$url = url("upload/lessons/desc-pics/{$pic_name}");
return "<script>window.parent.CKEDITOR.tools.callFunction(۱, '".$url."', '')</script>";
}
}
}
@ashkannazari۲۴۸
@masoudproton
@milad
@ali.bayat
@Alimotreb
@hesammousavi
@endworld
@code۲code
@khanzadimahdi
@info.aligraph
@SeyedMH.Mosavi
جوابش رو پیدا کردم
فقط کافیه داخل Controller خودمون، قسمتی که قرار هست return بشه رو بصورت زیر تغییر بدیم
$CKEditorFuncNum = $_GET['CKEditorFuncNum'];
return "<script>window.parent.CKEDITOR.tools.callFunction($CKEditorFuncNum, '".$url."')</script>";
جواب شما کاملا مشخصه! شما داری با id یه تگ ادیتور رو ران میکنی. سلکتور واسه id فقط اولین تگ رو انتخاب میکنه. شما باید از کلاس استفاده کنید نام desc-input رو به عنوان کلاس روی تگ ها اعمال کنید. به صورت زیر
<textarea name="desc" class="desc-input">
@khanzadimahdi
حرف شما درسته
ولی حتی اگر با کلاس نام گذاری کنی، یا آیدی ها متفاوت
ادیتور فقط متن ها رو استایل دهی میکنه، مثلا رنگ و سایز نوشته
ولی برای عکس ها فقط کار نمی کنه و آپلود عکس برای ادیتور اولی انجام میشه
جوابش رو پیدا کردم
فقط کافیه داخل Controller خودمون، قسمتی که قرار هست return بشه رو بصورت زیر تغییر بدیم
$CKEditorFuncNum = $_GET['CKEditorFuncNum'];
return "<script>window.parent.CKEDITOR.tools.callFunction($CKEditorFuncNum, '".$url."')</script>";
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟