@AlexAll

Как в yii2 вывести js скрипт перед закрывающим тегом?

Привет, надо вывести js скрипт перед закрывающим тегом body , так как нужно вывести его после js кода стороннего расширения, которое всегда выводится после моего скрипта. А мне надо наоборот
Сразу пишу что это не помогает
position' => \yii\web\View::POS_END

Вот так во view я подключаю js фаил, строчкой выше этот то самое стороннее расширение
use zgb7mtr\colorPicker\ColorPicker;
$this->registerJsFile(Yii::getAlias('@web'). '/js/common.js', ['depends' => [\yii\web\JqueryAsset::className()], 'position' => \yii\web\View::POS_END]);
  • Вопрос задан
  • 212 просмотров
Решения вопроса 2
@KingstonKMS
Вам надо сделать дополнительный AssetBundle, примерно следующего содержания:
namespace app\assets;
use yii\web\AssetBundle;
class CommonAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';

    public $js = [
        'js/common.js'
    ];

    public $depends = [
        'zgb7mtr\colorPicker\ColorPickerAsset'
    ];
}

И в нужном view файле зарегистрировать его
Ответ написан
slo_nik
@slo_nik Куратор тега Yii
Думаю, что весь этот цирк с отловом значения через Ваш скрипт лишний.
Всё гораздо проще.
echo ColorPicker::widget([
   'name' => 'Test',
   'value' => '#CCCCCC',
   'options' => [
       'onchange' => '
             console.log($(this).val())
            // ВОТ ТУТ ДЕЛАЙТЕ ЧТО ХОТИТЕ, ХОТЬ ПО AJAX ОТПРАВЛЯЙТЕ, ХОТЬ КУДА ПРИСВАИВАЙТЕ.
        '
   ]
]);

Так что писать скрипт, который будет отлавливать значения виджета лишняя работа.
Написали бы сразу в вопросе как положено - не потребовалось бы морочить голову в комментариях.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы