Запис #27 "YII2. Додавання JS-коду користувача. Метод registerJs()."

Додано: 2016-08-19 14:07:11 'admin

registerJS:

public void registerJs ( $js, $position = self::POS_READY, $key = null )

$js - параметр, яким передається JS-код

$position - позиція виведення JS-коду.
Доступні наступні позиції:
- POS_HEAD - додає JS-код в секцію HEAD.
- POS_BEGIN - додає JS-код на початок секції BODY.
- POS_END - додає JS-код в кінець секції BODY.
- POS_LOAD - огортає JS-код в обгортку  jQuery(window).load().
- POS_READY - огортає JS-код в обгортку jQuery(document).ready(). Дана позиція використовується по замовчуванню.

$key - ключ, по якому буде ідентифікуватись JS-код. Якщо $key = null. Клчем буде виступати параметр $js. Якщо є два JS-код із одним ключем, тоді останній буде перезаписувати попередній.

В view-файлі необхідно створити багатострокову змінну із кодом JS-коду, який повинен виконуватись. Після цього цю змінну необхідно передати як параметр методу registerJS().

Приклад:

$var = "Hello world!";
//багатострокова змінна
$script = <<< JS function foo() { return $var; //можна використовувати зовнішні змінні } JS; //Безпосереднє вставлення JS-коду до сторіки
$this->registerJs($script, yii\web\View::POS_HEAD);
Коментарі: