October 31st, 2012

Анализ иконки прикреплённого документа в шаблоне компонента bitrix:news.list

Анализ иконки прикреплённого документа в шаблоне компонента bitrix:news.list через CFile::MakeFileArray

Вывод "умолчальным" шаблоном компонента bitrix:news.list даёт вот какую картинку:

1

А мне бы надо другую. Значит делаем:

2

Код приведу только для анализа свойств, остальное в шаблоне не меняется (комментарии тоже оставлю, пригодятся):

<?foreach($arItem["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
<?//if(is_array($arProperty["DISPLAY_VALUE"])):?>
<?//=implode("&nbsp;/&nbsp;", $arProperty["DISPLAY_VALUE"]);?>
<?//else:?>
<?//=$arProperty["DISPLAY_VALUE"];?>
<?
if($arProperty["CODE"]=="file")
{
if(is_array($arProperty["DISPLAY_VALUE"]))
{
for($i=0;$i<=count($arProperty["DISPLAY_VALUE"])-1;$i++)
{ echo "<small style='color:#666666'>".$arProperty["DESCRIPTION"][$i].":</small>";
if(!empty($arProperty["DESCRIPTION"][$i]))
{
echo implode("&nbsp;/&nbsp;", "<small style='color:#666666'>".$arProperty["DESCRIPTION"][$i].":</small>".$arProperty["DISPLAY_VALUE"]);
}
$arFile=CFile::MakeFileArray($arProperty["VALUE"][$i]);
//echo $arFile[type];
switch($arFile[type])
{
case "application/msword":
echo "<img src=\"/bitrix/templates/bsu_red_blue_template/images/icon/doc_word.gif\" align=\"absmiddle\" hspace=\"3\">";
break;
case "application/vnd.ms-powerpoint":
echo "<img src=\"/bitrix/templates/bsu_red_blue_template/images/icon/doc_ppt.gif\" align=\"absmiddle\" hspace=\"3\">";
break;
case "application/pdf":
echo "<img src=\"/bitrix/templates/bsu_red_blue_template/images/icon/doc_pdf.gif\" align=\"absmiddle\" hspace=\"3\">";
break;
case "application/vnd.ms-excel":
echo "<img src=\"/bitrix/templates/bsu_red_blue_template/images/icon/doc_xls.gif\" align=\"absmiddle\" hspace=\"3\">";
break;
case "application/octet-stream":
echo "<img src=\"/bitrix/templates/bsu_red_blue_template/images/icon/doc_zip.gif\" align=\"absmiddle\" hspace=\"3\">";
break;
case "application/zip":
echo "<img src=\"/bitrix/templates/bsu_red_blue_template/images/icon/doc_zip.gif\" align=\"absmiddle\" hspace=\"3\">";
break;
}
echo $arProperty["DISPLAY_VALUE"][$i]."&nbsp;&nbsp;&nbsp;";
} //echo $arProperty["VALUE"][$i];

}
else
{
if(!empty($arProperty["DESCRIPTION"][0]))
{
echo "<small style='color:#666666'>".$arProperty["DESCRIPTION"][0].":</small>"."&nbsp;";
}
$arFile=CFile::MakeFileArray($arProperty["VALUE"][0]);
//echo $arFile[type];
switch($arFile[type])
{
case "application/msword":
echo "<img src=\"/bitrix/templates/bsu_red_blue_template/images/icon/doc_word.gif\" align=\"absmiddle\" hspace=\"3\">";
break;
case "application/vnd.ms-powerpoint":
echo "<img src=\"/bitrix/templates/bsu_red_blue_template/images/icon/doc_ppt.gif\" align=\"absmiddle\" hspace=\"3\">";
break;
case "application/pdf":
echo "<img src=\"/bitrix/templates/bsu_red_blue_template/images/icon/doc_pdf.gif\" align=\"absmiddle\" hspace=\"3\">";
break;
case "application/vnd.ms-excel":
echo "<img src=\"/bitrix/templates/bsu_red_blue_template/images/icon/doc_xls.gif\" align=\"absmiddle\" hspace=\"3\">";
break;
case "application/octet-stream":
echo "<img src=\"/bitrix/templates/bsu_red_blue_template/images/icon/doc_zip.gif\" align=\"absmiddle\" hspace=\"3\">";
break;
case "application/zip":
echo "<img src=\"/bitrix/templates/bsu_red_blue_template/images/icon/doc_zip.gif\" align=\"absmiddle\" hspace=\"3\">";
break;
}
echo $arProperty["DISPLAY_VALUE"];
//echo $arProperty["VALUE"][0];
}
}
else echo "<span style='color:#666666'>".$arProperty["NAME"]."</span>:&nbsp;".$arProperty["DISPLAY_VALUE"];
?>
<br />
<?endforeach;?>
</p><hr color="#999999" size="1" noshade="noshade">