تالار گفتمان nCIS.ir

نسخه‌ی کامل: مشکل در استفاده از TinyMCE در Yii2 (حل شد)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام من طبق این پست جلو رفتم
http://forum.ncis.ir/Thread-%D8%A7%D8%B3...D8%B1-Yii2

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

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

<?php

use yiihelpersHtml;
use yiiwidgetsActiveForm;
use appmodelsPost;
use appassetstinymceTinyWidget;
?>

<?= 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؟
توی ویجت دقت کنید که فایل AssetBundle رجیستر شده باشه. اگه مشکل حل نشد، سورستون رو ضمیمه کنین چک کنم.
(18-07-1395، 02:11 ب.ظ)ADMIN نوشته: [ -> ]توی ویجت دقت کنید که فایل AssetBundle رجیستر شده باشه. اگه مشکل حل نشد، سورستون رو ضمیمه کنین چک کنم.

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

use yiiwebAssetBundle;

AssetBundle::register($this);
غیر از این سه تا فایل چیز دیگه ای رو هم باید پیوست کنم؟
باید این خط رو اصلاح کنید:
<?= TinyWidget::widget(['selector' => 'tmce']) ?>

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

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