yii\web\AssetBundle::publish PHP Метод

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

It will also try to convert non-CSS or JS files (e.g. LESS, Sass) into the corresponding CSS or JS files using [[AssetManager::converter|asset converter]].
public publish ( AssetManager $am )
$am AssetManager the asset manager to perform the asset publishing
    public function publish($am)
    {
        if ($this->sourcePath !== null && !isset($this->basePath, $this->baseUrl)) {
            list($this->basePath, $this->baseUrl) = $am->publish($this->sourcePath, $this->publishOptions);
        }
        if (isset($this->basePath, $this->baseUrl) && ($converter = $am->getConverter()) !== null) {
            foreach ($this->js as $i => $js) {
                if (is_array($js)) {
                    $file = array_shift($js);
                    if (Url::isRelative($file)) {
                        $js = ArrayHelper::merge($this->jsOptions, $js);
                        array_unshift($js, $converter->convert($file, $this->basePath));
                        $this->js[$i] = $js;
                    }
                } elseif (Url::isRelative($js)) {
                    $this->js[$i] = $converter->convert($js, $this->basePath);
                }
            }
            foreach ($this->css as $i => $css) {
                if (is_array($css)) {
                    $file = array_shift($css);
                    if (Url::isRelative($file)) {
                        $css = ArrayHelper::merge($this->cssOptions, $css);
                        array_unshift($css, $converter->convert($file, $this->basePath));
                        $this->css[$i] = $css;
                    }
                } elseif (Url::isRelative($css)) {
                    $this->css[$i] = $converter->convert($css, $this->basePath);
                }
            }
        }
    }

Usage Example

Пример #1
0
 public function publish($am)
 {
     parent::publish($am);
     $view = Yii::$app->getView();
     $language = Yii::$app->language;
     $view->registerJs("i18n.init({ lng: '{$language}', resGetPath: '/locales/__lng__/__ns__.json', fallbackLng: 'en' });");
 }
All Usage Examples Of yii\web\AssetBundle::publish