Neos\Media\Domain\Service\FileTypeIconService::getIcon PHP Метод

getIcon() публичный статический Метод

Returns an icon for a filetype within given dimensions
public static getIcon ( Neos\Media\Domain\Model\AssetInterface $asset, integer $maximumWidth, integer $maximumHeight ) : array
$asset Neos\Media\Domain\Model\AssetInterface
$maximumWidth integer
$maximumHeight integer
Результат array
    public static function getIcon(AssetInterface $asset, $maximumWidth, $maximumHeight)
    {
        // TODO: Could be configurable at some point
        $iconPackage = 'Neos.Media';
        $iconSize = self::getDocumentIconSize($maximumWidth, $maximumHeight);
        if (is_file('resource://' . $iconPackage . '/Public/Icons/16px/' . $asset->getResource()->getFileExtension() . '.png')) {
            $icon = sprintf('Icons/%spx/' . $asset->getResource()->getFileExtension() . '.png', $iconSize);
        } else {
            $icon = sprintf('Icons/%spx/_blank.png', $iconSize);
        }
        return ['width' => $iconSize, 'height' => $iconSize, 'src' => 'resource://' . $iconPackage . '/Public/' . $icon, 'alt' => $asset->getResource()->getFileExtension()];
    }

Usage Example

 /**
  * Renders an <img> HTML tag for a filetype icon for a given Neos.Media's asset instance
  *
  * @param AssetInterface $file
  * @param integer|null $width
  * @param integer|null $height
  * @return string
  */
 public function render(AssetInterface $file, $width = null, $height = null)
 {
     $icon = FileTypeIconService::getIcon($file, $width, $height);
     $this->tag->addAttribute('src', $this->resourceManager->getPublicPackageResourceUriByPath($icon['src']));
     $this->tag->addAttribute('alt', $icon['alt']);
     if ($width !== null) {
         $this->tag->addAttribute('width', $width);
     }
     if ($height !== null) {
         $this->tag->addAttribute('height', $height);
     }
     return $this->tag->render();
 }
All Usage Examples Of Neos\Media\Domain\Service\FileTypeIconService::getIcon