getConverter() public method

Returns the asset converter.
public getConverter ( ) : yii\web\AssetConverterInterface
return yii\web\AssetConverterInterface the asset converter.
 /**
  * Publishes the asset bundle if its source code is not under Web-accessible directory.
  * 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]].
  * @param \yii\web\AssetManager $am 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);
     }
     $converter = $am->getConverter();
     foreach ($this->js as $i => $value) {
         if (is_array($value)) {
             if (isset($value['file'])) {
                 $js = $value['file'];
             } else {
                 continue;
             }
         } else {
             $js = $value;
         }
         if (strpos($js, '/') !== 0 && strpos($js, '://') === false) {
             if (isset($this->basePath, $this->baseUrl)) {
                 $js = $converter->convert($js, $this->basePath);
             } else {
                 $js = '/' . $js;
             }
             if (is_array($value)) {
                 $value['file'] = $js;
             } else {
                 $value = $js;
             }
             $this->js[$i] = $value;
         }
     }
     foreach ($this->css as $i => $value) {
         if (is_array($value)) {
             if (isset($value['file'])) {
                 $css = $value['file'];
             } else {
                 continue;
             }
         } else {
             $css = $value;
         }
         if (strpos($css, '/') !== 0 && strpos($css, '://') === false) {
             if (isset($this->basePath, $this->baseUrl)) {
                 $css = $converter->convert($css, $this->basePath);
             } else {
                 $css = '/' . $css;
             }
             if (is_array($value)) {
                 $value['file'] = $css;
             } else {
                 $value = $css;
             }
             $this->css[$i] = $value;
         }
     }
 }
Beispiel #2
0
 /**
  * Publishes the asset bundle if its source code is not under Web-accessible directory.
  * 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]].
  * @param AssetManager $am 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);
             }
         }
     }
 }
 /**
  * Publishes the asset bundle if its source code is not under Web-accessible directory.
  * 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]].
  * @param AssetManager $am 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 (Url::isRelative($js)) {
                 $this->js[$i] = $converter->convert($js, $this->basePath);
             }
         }
         foreach ($this->css as $i => $css) {
             if (Url::isRelative($css)) {
                 $this->css[$i] = $converter->convert($css, $this->basePath);
             }
         }
     }
 }
Beispiel #4
0
 /**
  * Publishes the asset bundle if its source code is not under Web-accessible directory.
  * 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]].
  * @param AssetManager $am 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);
     }
     $converter = $am->getConverter();
     foreach ($this->js as $i => $js) {
         if (strpos($js, '/') !== 0 && strpos($js, '://') === false) {
             if (isset($this->basePath, $this->baseUrl)) {
                 $this->js[$i] = $converter->convert($js, $this->basePath);
             } else {
                 $this->js[$i] = '/' . $js;
             }
         }
     }
     foreach ($this->css as $i => $css) {
         if (strpos($css, '/') !== 0 && strpos($css, '://') === false) {
             if (isset($this->basePath, $this->baseUrl)) {
                 $this->css[$i] = $converter->convert($css, $this->basePath);
             } else {
                 $this->css[$i] = '/' . $css;
             }
         }
     }
 }