رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در استفاده از TinyMCE در Yii2 (حل شد)
#1
سلام من طبق این پست جلو رفتم
http://forum.ncis.ir/Thread-%D8%A7%D8%B3...D8%B1-Yii2

ولی آخر سر درست نشون نمیده ویرایشگر متن رو

[عکس: 3tp_tcm.png]
پاسخ
تشکر شده توسط:
#2
اگه دقیقاً طبق آموزش کار کرده باشین هیچ مشکلی نباید پیش بیاد. کدتون رو بگذارین که بررسی کنم.
پاسخ
تشکر شده توسط: inspiration
#3
کد ویو create.php

<?php

use yii\helpers\Html;
use yii\widgets\ActiveForm;
use app\models\Post;
use app\assets\tinymce\TinyWidget;
?>

<?= TinyWidget::widget(['selector' => 'tmce']) ?>

<div class="container">
   <div class="panel">
       <div class="panel-info">
           <span class="fa fa-list-alt"> مدیریت مطالب</span> 
       </div>

       <div class="page-header col-lg-offset-1">ایجادمطلب</div>
       <div class="panel-info">


           <div class="panel-body">
               <?php
               $form = ActiveForm::begin([
                           'id' => 'create-form',
                           'options' => ['class' => 'form-horizontal'],
                           'fieldConfig' => [
                               'template' => "{label}\n<div class=\"col-lg-5\">{input}</div>\n<div class=\"col-lg-5\">{error}</div>",
                               'labelOptions' => ['class' => 'col-lg-2 control-label'],
                           ],
                       ])
               ?>

               <div class="form-group">
                   <div class="row">
                       <div class="col-lg-offset-1 col-lg-5">
                           <?= $form->field($model, 'name') ?>
                       </div>
                   </div>
                   
               </div>
                <div class="form-group">
                   <div class="row">

                       <div class="col-lg-offset-1 col-lg-5 ">
                            <?= $form->field($model, 'text')->textArea(['class' => 'tmce']) ?>
                           
                       </div>
                   </div>
               </div>


               <div class="form-group">
                   <div class="col-lg-offset-3 col-lg-9">
                       <?= Html::submitButton('ثبت', ['class' => 'btn btn-primary']) ?>
                   </div>
               </div>
               <?php ActiveForm::end() ?>

           </div> 

       </div>


   </div>


</div>







ساختار درختی:
[عکس: 584o_tcm.png]


مشکل اینه که وقتی ویوسورس میزنم اصلا js & css مربوط به tinymce  اضافه نشده ولی وقتی دستی جاوااسکریپتش رو مینویسم اوکی میشه
غیر از کارهایی که توی پست کار با tinymce  گفتید کار دیگه ای هم باید بکنم واسه assetbundle  ها؟ توی main.php؟
پاسخ
تشکر شده توسط:
#4
توی ویجت دقت کنید که فایل AssetBundle رجیستر شده باشه. اگه مشکل حل نشد، سورستون رو ضمیمه کنین چک کنم.
پاسخ
تشکر شده توسط: inspiration
#5
(18-07-1395، 02:11 ب.ظ)ADMIN نوشته: توی ویجت دقت کنید که فایل AssetBundle رجیستر شده باشه. اگه مشکل حل نشد، سورستون رو ضمیمه کنین چک کنم.

منظورتون رو نمیفهمم توی کدوم ویجت باید رجیستر بشه؟؟
و موقعی که میخوام رجیستر کنم اینو بنویسم؟

use yii\web\AssetBundle;

AssetBundle::register($this);
پاسخ
تشکر شده توسط:
#6
غیر از این سه تا فایل چیز دیگه ای رو هم باید پیوست کنم؟


فایل‌های پیوست
.php   TinyWidget.php (اندازه 1.33 KB / تعداد دانلود: 0)
.php   TinyAsset.php (اندازه 433 بایت / تعداد دانلود: 0)
.php   create.php (اندازه 2.06 KB / تعداد دانلود: 0)
پاسخ
تشکر شده توسط:
#7
باید این خط رو اصلاح کنید:
<?= TinyWidget::widget(['selector' => 'tmce']) ?>

و به این شکل بنویسید:
<?= TinyWidget::widget(['selector' => '.tmce']) ?>

به کارکتر دات قبل از اسم tmce دقت کنید.
پاسخ
تشکر شده توسط: inspiration
#8
برای اطمینان، یکبار محتوای پوشه‌ی web/assets رو پاک کنید (محتوای داخلش رو حذف کنید نه خود پوشه رو)
پاسخ
تشکر شده توسط: inspiration
#9
مشکل توی تیم‌ویور مشخص شد. دستوراتی مثل $this->beginBody(); و... از قالب layout حذف شده بود و درنتیجه خروجی AssetBundle::register توی صفحه قرار نمیگرفت چون لی‌اوت کاملاً استاتیک شده بود.
پاسخ
تشکر شده توسط: inspiration




کاربران در حال بازدید این موضوع: 1 مهمان