میلاد بسحاق
6 سال پیش توسط میلاد بسحاق مطرح شد
4 پاسخ

عدم آپلود عکس در CKEDITOR برای چند TextArea همزمان

با سلام

دوستان بنده نسخه ۴ 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


ثبت پرسش جدید
میلاد بسحاق
@miladboshagh 6 سال پیش آپدیت شد
1

جوابش رو پیدا کردم

فقط کافیه داخل Controller خودمون، قسمتی که قرار هست return بشه رو بصورت زیر تغییر بدیم

$CKEditorFuncNum = $_GET['CKEditorFuncNum'];
return "<script>window.parent.CKEDITOR.tools.callFunction($CKEditorFuncNum, '".$url."')</script>";

mahdi khanzadi
تخصص : Software engineer
@khanzadimahdi 6 سال پیش آپدیت شد
2

جواب شما کاملا مشخصه! شما داری با id یه تگ ادیتور رو ران میکنی. سلکتور واسه id فقط اولین تگ رو انتخاب میکنه. شما باید از کلاس استفاده کنید نام desc-input رو به عنوان کلاس روی تگ ها اعمال کنید. به صورت زیر

<textarea name="desc" class="desc-input">

میلاد بسحاق
@miladboshagh 6 سال پیش مطرح شد
0

@khanzadimahdi
حرف شما درسته

ولی حتی اگر با کلاس نام گذاری کنی، یا آیدی ها متفاوت
ادیتور فقط متن ها رو استایل دهی میکنه، مثلا رنگ و سایز نوشته
ولی برای عکس ها فقط کار نمی کنه و آپلود عکس برای ادیتور اولی انجام میشه


میلاد بسحاق
@miladboshagh 6 سال پیش مطرح شد
0

@Alimotreb
سلام

شرمنده، میتونید ی نگاه بندازید به کد ها؟


میلاد بسحاق
@miladboshagh 6 سال پیش آپدیت شد
1

جوابش رو پیدا کردم

فقط کافیه داخل Controller خودمون، قسمتی که قرار هست return بشه رو بصورت زیر تغییر بدیم

$CKEditorFuncNum = $_GET['CKEditorFuncNum'];
return "<script>window.parent.CKEDITOR.tools.callFunction($CKEditorFuncNum, '".$url."')</script>";

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام