示例#1
0
 /**
  * Render the image(s) to HTML
  *
  * @return string
  */
 public function render()
 {
     if (TYPO3_MODE === 'BE') {
         $this->simulateFrontendEnvironment();
     }
     $pathinfo = pathinfo($this->arguments['src']);
     if ($pathinfo['filename'] === '*') {
         $images = $this->documentHead->getFilenamesOfType($pathinfo['dirname'], $pathinfo['extension']);
     } else {
         if ($this->arguments['path']) {
             $src = trim(trim($this->arguments['src']), ',');
             if (strlen($src) === 0) {
                 return '';
             }
             $images = explode(',', $src);
             // patch for CSV files missing relative pathnames and possible missing files
             foreach ($images as $k => $v) {
                 $images[$k] = $this->arguments['path'] . $v;
             }
         } else {
             if (is_array($this->arguments['src'])) {
                 $images = $this->arguments['src'];
             } else {
                 $images = array(trim($this->arguments['src'], ', '));
             }
         }
     }
     if ($this->arguments['sortBy'] !== NULL) {
         $images = $this->sortImages($images);
     }
     if ($this->arguments['limit'] > 0) {
         $images = array_slice($images, 0, $this->arguments['limit']);
     }
     if (count($images) === 0) {
         return '';
     }
     // use altsrc for any image not present
     foreach ($images as $k => $v) {
         if (is_file(t3lib_div::getFileAbsFileName($v)) === FALSE) {
             $images[$k] = $this->arguments['altsrc'];
         }
     }
     $rendered = $this->renderImages($images);
     if (TYPO3_MODE === 'BE') {
         $this->resetFrontendEnvironment();
     }
     return $rendered;
 }
 /**
  * Get an array of all with extension $extension in $dir
  *
  * Remains as @api method but proxies to DocumentHead. Final location of
  * getFilenamesOfType($dir, $extension) may change but this method will remain.
  *
  * @param string $dir
  * @param string $type
  * @return array
  * @api
  */
 public function getFilenamesOfType($dir, $extension = NULL)
 {
     return $this->documentHead->getFilenamesOfType($dir, $extension);
 }