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

- 4 هفته پیش
توسط milad_bos آپدیت شد
milad_bos ( 1080 تجربه )
4 هفته پیش

با سلام

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

بهترین پاسخ انتخاب شده توسط milad_bos
milad_bos
4 هفته پیش

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

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

$CKEditorFuncNum = $_GET['CKEditorFuncNum'];
return "<script>window.parent.CKEDITOR.tools.callFunction($CKEditorFuncNum, '".$url."')</script>";
mahdi khanzadi ( 15337 تجربه )
4 هفته پیش

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

<textarea name="desc" class="desc-input">
milad_bos ( 1080 تجربه )
4 هفته پیش

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

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

milad_bos ( 1080 تجربه )
4 هفته پیش

@Alimotreb
سلام

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

milad_bos ( 1080 تجربه )
4 هفته پیش

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

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

$CKEditorFuncNum = $_GET['CKEditorFuncNum'];
return "<script>window.parent.CKEDITOR.tools.callFunction($CKEditorFuncNum, '".$url."')</script>";
برای ارسال پاسخ باید وارد سایت شوید