2017-01-27 37 views
0

负载下的同一类别的横幅在不同的充BannerRotators不同的图像,网页载入我使用kentico CMS工具。在我有。我想下显示不同的横幅旋转器不同的图像5个的横幅旋转器对电子网站发展同一页面上的同一类别横幅。我们能否在kentico

+0

你的意思是页面加载时有不同的图像? –

+0

谢谢你的答复。不同的图像在不同的横幅旋转器 –

+0

那么你使用5横幅不同的旋转器?你想控制它的逻辑是什么? –

回答

0

如果旗帜转子具有“去哪儿”的条件,您可以在横幅类别拉在where条件是这样的:

(
    -- If they share categories, then load only the banners with shared categories 
    (
    Select count(*) from CMS_DocumentCategory where CMS_DocumentCategory.DocumentID = DocumentID and CategoryID in 
     (Select CategoryID from CMS_DocumentCategory where DocumentID = {% DocumentContext.DocumentID @%}) 
    ) > 0 and 
    DocumentID in (Select DocumentID from CMS_DocumentCategory where CategoryID in (Select CategoryID from CMS_DocumentCategory where DocumentID = {% DocumentContext.DocumentID @%}) 
) 

    OR 
    -- If there aren't any shared categories, then this whole statement resolves true 
    (
    Select count(*) from CMS_DocumentCategory where CMS_DocumentCategory.DocumentID = DocumentID and CategoryID in 
     (Select CategoryID from CMS_DocumentCategory where DocumentID = {% DocumentContext.DocumentID @%}) 
    ) = 0 
) 

您可以使用宏,而不是要尽量缩短这个,但无论如何它会导致相同的逻辑。

+0

通过使用上面的查询我geting数据相关的文档category.it是好的,但我想在5个横幅旋转器显示不同的图像在每个页面加载数据。 –

0

我认为有两种方法可以做到这一点。在这两者中,使用客户端的那个会容易得多。但是,它需要您使用浏览器的本地存储和存储值,并通过查询字符串参数将其传递给Kentico宏。

你会使用两个的webpart: -

  1. 直放站 - 在页面上显示一个定义的旗帜形象
  2. 随机文件的WebPart - 要显示一个随机的文件,该文件是不是第一次加载过程中已经显示的文档。

您将通过Kentico宏处理这两个Web部件的可见性。

  1. 在首次加载页面时,您需要将第一个横幅图像的DocumentID存储在浏览器的localstorage或cookie中。

  2. 在随后的页面加载中,您将检查是否设置了localstorage并将值传递给浏览器,并使用此值隐藏并首先重复器并将该值传递给Random document fetcher where子句。

这是否给你一些想法如何继续?

我写的文章谭一段时间回如何配置随机文件提取程序。您可能会看到此链接 http://www.bodhitreelabs.com/Blog/April/Displaying-related-documents-by-tags

+0

有默认的Web部件横幅旋转器在那里可以通过在横幅旋转器中进行任何修改来获得输出。 –

0

您可以在条件中使用项目索引来显示横幅图像。

0

与页面本身的一些配置做到这一点,以及使用中继器web部件。

在页面类型,添加一个名为BannerCategory的新文本字段。将字段控件设置为类别选择器。假设类别选择器不在您的列表中,那么您将不得不转到表格控制应用程序并搜索Category selector。找到它时,在“show control in”中选中页面类型框。这将使它对页面类型对象可见。

在页面模板,你想添加一个中继器的WebPart你的旗帜rotater。将路径设置到横幅所在的位置(假设它们都位于单个目录中并且分配了类别),即:/banners

下一页设置类别的宏(点击箭头的文本框的左侧)。你想输入的宏是{%BannerCategory%}或者你从上面命名的字段。这将动态获取您为所在页面选择的类别名称。

设置转换和其他所需的显示属性。要在页面加载时获得随机显示,请将OrderBy属性设置为NewID()。这将创建一个随机的GUID并通过该GUID进行排序。您可能还必须将缓存属性设置为0才能关闭缓存,以便随机部分按预期工作。注意,如果您使用随机文档转发器,它也将缓存,因此您必须通过将webpart的缓存设置为0来执行类似的“破解”。

如果您正在寻找其他内容,在你对问题的简短描述中指定更多细节。