На одном сайте видел раздел на главной "Случайный товар", и захотел заменить у себя раздел "Спецпредложение" на что-то похожее.
Нужные данные получаем при помощи bitrix:news.list
После разбора выяснилось, что работает данный механизм на jQuery Cycle Plugin.
необходимые библиотеки подключил на странице так:
<?
$APPLICATION->AddHeadString('<link type="text/css" href="/bitrix/templates/store_minimal_blue/cycle_plugin.css" rel="stylesheet" />',true);
$APPLICATION->AddHeadString('<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>',true);
$APPLICATION->AddHeadString('<script type="text/javascript" src="/bitrix/templates/store_minimal_blue/cycle-plugin.js"></script>',true);
$APPLICATION->AddHeadString('<script type="text/javascript" src="/bitrix/templates/store_minimal_blue/jquery.cycle.all.js"></script>',true);
?> |
сожержимое cycle_plugin.css (настраиваем тут все под себя)
.slideshow { height: 232px; width: 150px; }
.slideshow img { padding: 3px; border: 1px solid #ccc; background-color: #eee; } |
содержимое cycle-plugin.js (настраиваем тут все под себя, тип эффекта, и прочее)
$(document).ready(function() {
$('.slideshow').cycle({
fx: 'fade',
speed: 1000,
timeout: 2000,
pause: 1
});
}); |
шаблон выглядит так:
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<div class="slideshow">
<?foreach($arResult["ITEMS"] as $arItem):?>
<?
$this->AddEditAction($arItem['ID'], $arItem['EDIT_LINK'], CIBlock::GetArrayByID($arItem["IBLOCK_ID"], "ELEMENT_EDIT"));
$this->AddDeleteAction($arItem['ID'], $arItem['DELETE_LINK'], CIBlock::GetArrayByID($arItem["IBLOCK_ID"], "ELEMENT_DELETE"), array("CONFIRM" => GetMessage('CT_BNL_ELEMENT_DELETE_CONFIRM')));
?>
<a href="<?=$arItem["DETAIL_PAGE_URL"]?>"><img src="<?=$arItem["PREVIEW_PICTURE"]["SRC"]?>"><br /><?=$arItem["PREVIEW_TEXT"]?></a>
<?endforeach;?>
</div> |
Получаем слайд-шоу товаров, количество которых можно указывать в параметрах компонента bitrix:news.list
P.S. Уважаемые гуру битрикса, с радостью выслушаю вашу критику по поводу данного решения, может быть его как-то можно упростить.