有时是Products.slideshowfolder的有用扩展
项目描述
有时是Products.slideshowfolder的有用扩展
SlideshowImage
SlideshowImage内容类型使用对站点中某个现有正常图像的引用来作为链接或别名。这允许创建一个作为slideshowfolder的文件夹,显示实际上存储在其他地方的照片。
从几个普通文件夹和一个普通图像开始。
>>> portal.images <ATFolder at /plone/images> >>> portal.images.contentValues() [<ATImage at /plone/images/foo-image-title>] >>> foo_image = portal.images['foo-image-title']>>> folder.contentValues() [<ATFolder at /plone/Members/test_user_1_/slideshow>] >>> folder.slideshow.contentValues() [<ATImage at /plone/Members/test_user_1_/slideshow/bar-image-title>]
打开浏览器并登录为可以添加SlideshowImages的用户。
>>> from Products.Five import testbrowser >>> from Products.PloneTestCase import ptc >>> portal.error_log._ignored_exceptions = () >>> member_browser = testbrowser.Browser() >>> member_browser.handleErrors = False >>> member_browser.open(portal.absolute_url()) >>> member_browser.getLink('Log in').click() >>> member_browser.getControl( ... 'Login Name').value = ptc.default_user >>> member_browser.getControl( ... 'Password').value = ptc.default_password >>> member_browser.getControl('Log in').click() >>> member_browser.open(folder.slideshow.absolute_url())
添加一个SlideshowImage。将“图像引用”字段设置为图像文件夹中的实际图像。
>>> member_browser.getLink( ... url='createObject?type_name=SlideshowImage').click() >>> member_browser.getControl( ... 'Image Reference').value = foo_image.UID()
由于所有值都来自引用的图像,因此没有正常图像字段可编辑。
>>> member_browser.getControl('Title') Traceback (most recent call last): LookupError: label 'Title'>>> member_browser.getControl('Description') Traceback (most recent call last): LookupError: label 'Description'>>> member_browser.getControl(name='image_file') Traceback (most recent call last): LookupError: name 'image_file'>>> member_browser.getControl('Creators') Traceback (most recent call last): LookupError: label 'Creators'
保存新的SlideshowImage。
>>> member_browser.getControl('Save').click()
字段值是从引用的图像中拉取的。
>>> print member_browser.contents <... ...Changes saved... ...Foo Image Title... ...Foo CreÃtor... ...Foo Image description... >>> member_browser.getLink('Click to view full-size image') <Link text='Foo Image Title[IMG] [IMG] Click to view full-size image...' url='http://nohost/plone/Members/test_user_1_/slideshow/foo-image-title/image_view_fullscreen'> >>> member_browser.open( ... folder.slideshow['foo-image-title'].absolute_url()) >>> print member_browser.contents GIF...
目录也反映了引用图像的数据。
>>> len(portal.portal_catalog( ... Type='Slideshow Image', ... Description='Foo Image description')) 1
当原始图像被编辑时,字段编目和索引的值也会更新。
打开浏览器并以图像的创建者身份登录。
>>> owner_browser = testbrowser.Browser() >>> owner_browser.handleErrors = False >>> owner_browser.open(portal.absolute_url()) >>> owner_browser.getLink('Log in').click() >>> owner_browser.getControl( ... 'Login Name').value = ptc.portal_owner >>> owner_browser.getControl( ... 'Password').value = ptc.default_password >>> owner_browser.getControl('Log in').click()
更改图像元数据。
>>> owner_browser.open(foo_image.absolute_url()+'/edit') >>> owner_browser.getControl( ... 'Description').value = 'Foo Image edited' >>> owner_browser.getControl('Save').click()
目录现在反映了引用图像的SlideshowImage的更改。
>>> len(portal.portal_catalog( ... Type='Slideshow Image', ... Description='Foo Image description')) 0>>> len(portal.portal_catalog( ... Type='Slideshow Image', ... Description='Foo Image edited')) 1
幻灯片文件夹
在文件夹中使用slideshowfolder视图的SlideshowImages表现得就像普通图像一样。
将文件夹变成幻灯片文件夹。
>>> member_browser.open(folder.slideshow.absolute_url()) >>> member_browser.getLink('Make slideshow').click() >>> print member_browser.contents <... ...This folder is now designated a slideshow...
通过检查JavaScript来确保SlideshowImage包含在幻灯片中。collective.slideshowfolder软件包还扩展了字幕,包括图像的创建者以供信用。
>>> member_browser.open( ... folder.slideshow.absolute_url()+'/slideshow_settings.js') >>> print member_browser.contents registerPloneFunction... ...http://nohost/plone/Members/test_user_1_/slideshow/bar-image-title/image_large... ...Photo: Foo Full NÃme... ...Bar ImÃge description... ...http://nohost/plone/Members/test_user_1_/slideshow/foo-image-title/image_large... ...Photo: Foo CreÃtor... ...Foo Image edited...
幻灯片组件
集体幻灯片文件夹包还提供了一个组件,该组件基于上下文“幻灯片”引用中指定的第一个文件夹或集合的内容,在组件中渲染幻灯片2。
将文件夹转换为幻灯片文件夹。
>>> slideshowfolder = self.folder.slideshow >>> self.loginAsPortalOwner() >>> portal.portal_workflow.doActionFor( ... slideshowfolder, 'publish') >>> slideshowfolder.unrestrictedTraverse( ... '@@folder_slideshow_view').makeSlideshow()
打开浏览器并登录为可以添加组件的用户。
>>> from Products.Five import testbrowser >>> from Products.PloneTestCase import ptc >>> browser = testbrowser.Browser() >>> browser.handleErrors = False >>> browser.open(portal.absolute_url()) >>> browser.getLink('Log in').click() >>> browser.getControl('Login Name').value = ptc.portal_owner >>> browser.getControl('Password').value = ptc.default_password >>> browser.getControl('Log in').click()
添加幻灯片文件夹组件。
>>> browser.getLink('Manage portlets').click() >>> right_column = browser.getForm(index=3) >>> right_column.getControl('Slideshow portlet').selected = True >>> right_column.submit() >>> browser.getControl('Save').click() >>> browser.getLink('Log out').click()
转到网站上没有幻灯片的区域。
>>> context = portal.news.aggregator >>> browser.open(context.absolute_url()) >>> 'portletSlideshow' in browser.contents False
为上下文添加幻灯片文件夹引用。
>>> context.addReference(slideshowfolder, ... relationship="slideshow") <Reference sid:... tid:... rel:slideshow>
现在幻灯片组件将被渲染。
>>> browser.open(context.absolute_url()) >>> print browser.contents <... ...mootools... ...portletSlideshow... ...id="myShow"... ...registerPloneFunction... ...http://nohost/plone/Members/test_user_1_/slideshow/bar-image-title/image_large...
变更日志
0.8 - 2009-07-08
修复组件添加视图
0.7 - 2009-03-22
修复标题中的另一个Unicode错误(aaronv)
0.6 - 2009-03-21
修复标题中的Unicode错误(aaronv)
0.5 - 2009-02-07
修复生成组件JavaScript中的类型错误(感谢aaronv!)
0.4 - 2008-12-03
修复组件JavaScript
使组件完全可编辑
为组件设置更合理的默认高度和宽度
0.3 - 2008-12-02
支持基于幻灯片文件夹引用的幻灯片组件
0.2 - 2008-11-13
在标题中将图像创建者作为信用添加
0.1 - 2008-11-12
初始发布
项目详情
下载文件
下载适合您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
collective.slideshowfolder-0.8.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 9a4058050901b46bf0355982669fe0e8125ba109daefa25802cbf58a1c211688 |
|
MD5 | c54f19d19efdc8ec91fadbcf3be2d33c |
|
BLAKE2b-256 | 55f7527f609c087b834390c881a6a08bdc33b43e4ea097a4b63bed53149f0a52 |