yii\web\View::registerJsFile PHP Метод

registerJsFile() публичный Метод

Registers a JS file.
public registerJsFile ( string $url, array $options = [], string $key = null )
$url string the JS file to be registered.
$options array the HTML attributes for the script tag. The following options are specially handled and are not treated as HTML attributes: - `depends`: array, specifies the names of the asset bundles that this JS file depends on. - `position`: specifies where the JS script tag should be inserted in a page. The possible values are: * [[POS_HEAD]]: in the head section * [[POS_BEGIN]]: at the beginning of the body section * [[POS_END]]: at the end of the body section. This is the default value. Please refer to [[Html::jsFile()]] for other supported options.
$key string the key that identifies the JS script file. If null, it will use $url as the key. If two JS files are registered with the same key at the same position, the latter will overwrite the former. Note that position option takes precedence, thus files registered with the same key, but different position option will not override each other.
    public function registerJsFile($url, $options = [], $key = null)
    {
        $url = Yii::getAlias($url);
        $key = $key ?: $url;
        $depends = ArrayHelper::remove($options, 'depends', []);
        if (empty($depends)) {
            $position = ArrayHelper::remove($options, 'position', self::POS_END);
            $this->jsFiles[$position][$key] = Html::jsFile($url, $options);
        } else {
            $this->getAssetManager()->bundles[$key] = Yii::createObject(['class' => AssetBundle::className(), 'baseUrl' => '', 'js' => [strncmp($url, '//', 2) === 0 ? $url : ltrim($url, '/')], 'jsOptions' => $options, 'depends' => (array) $depends]);
            $this->registerAssetBundle($key);
        }
    }

Usage Example

Пример #1
2
    /**
     * @param string $language
     * @param View   $view
     */
    public function registerLanguage($language, $view)
    {
        if (file_exists($this->sourcePath . "/locale/{$language}.js")) {
            $this->js = array_merge($this->js, ['min/locales.min.js']);
            $view->registerJsFile($this->baseUrl . "/locale/{$language}.js");
            $js = <<<JS
moment.locale('{$language}');
JS;
            $view->registerJs($js, View::POS_READY, 'moment-locale-' . $language);
        }
    }
All Usage Examples Of yii\web\View::registerJsFile