From b4892f9af387a40573b75c477365342de9a7ebc8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Beno=C3=AEt=20Pin?= <benoit.pin@gmail.com> Date: Mon, 31 Mar 2014 09:53:28 +0200 Subject: [PATCH] =?utf8?q?Prise=20en=20compte=20du=20param=C3=A8tre=20thum?= =?utf8?q?b=5Fsize=20au=20moment=20de=20la=20fabrication.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- photo.py | 14 ++++++++++++-- skins/photo_layout_macros.pt | 4 ++-- skins/portfolio_style.css.dtml | 8 ++++---- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/photo.py b/photo.py index c0c92c6..7cb8974 100755 --- a/photo.py +++ b/photo.py @@ -29,7 +29,7 @@ from Products.CMFCore.DynamicType import DynamicType from Products.CMFCore.CMFCatalogAware import CMFCatalogAware from Products.Photo.Photo import Photo as BasePhoto from Products.CMFDefault.DublinCore import DefaultDublinCoreImpl -from Products.CMFCore.utils import getToolByName +from Products.CMFCore.utils import getToolByName, getUtilityByInterfaceName from Products.Photo.cache import memoizedmethod from Products.DCWorkflow.utils import modifyRolesForPermission from interfaces import IPhoto @@ -214,4 +214,14 @@ class Photo(DynamicType, CMFCatalogAware, BasePhoto, DefaultDublinCoreImpl) : InitializeClass(Photo) -PhotoFactory = Factory(Photo) \ No newline at end of file +class _PhotoFactory(Factory) : + def __call__(self, *args, **kw): + if not kw.has_key('thumb_height') or not kw.has_key('thumb_width') : + utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool') + portal = utool.getPortalObject() + size = portal.getProperty('thumb_size') + kw.update({'thumb_height' : size, 'thumb_width' : size }) + return self._callable(*args, **kw) + + +PhotoFactory = _PhotoFactory(Photo) \ No newline at end of file diff --git a/skins/photo_layout_macros.pt b/skins/photo_layout_macros.pt index 16571dd..48b8040 100644 --- a/skins/photo_layout_macros.pt +++ b/skins/photo_layout_macros.pt @@ -102,7 +102,7 @@ <div metal:define-macro="film_bar" tal:omit-tag=""> <div id="film_bar"> <table cellspacing="0"> - <tr tal:define="slide_size python:portal_object.thumb_height/2 + 10"> + <tr tal:define="slide_size python:portal_object.thumb_size/2 + 10"> <td tal:repeat="info contextInfos/infos"> <a href="." tal:attributes="href info/href; class info/className; @@ -145,7 +145,7 @@ })(); ''' % {'filmLength': len(contextInfos['infos']) ,'center': index - ,'slideSize': portal_object.thumb_width/2 + 11 + ,'slideSize': portal_object.thumb_size/2 + 11 ,'reBaseCtxUrl':contextInfos['reBaseCtxUrl'] ,'canonicalUrl':contextInfos['canonicalUrl'] }"> diff --git a/skins/portfolio_style.css.dtml b/skins/portfolio_style.css.dtml index e2aadab..f88048e 100755 --- a/skins/portfolio_style.css.dtml +++ b/skins/portfolio_style.css.dtml @@ -129,7 +129,7 @@ table.metadata_category select:focus { background: &dtml-portfolio_slide_background;; color: &dtml-fontColor;; display:block; - width: <dtml-var expr="thumb_width + 16">px;/*&dtml-slide_size;px;*/ + width: <dtml-var expr="thumb_size + 16">px;/*&dtml-slide_size;px;*/ height: 256px; display:block; text-align:center; @@ -336,7 +336,7 @@ div.lightbox { overflow:hidden; position:relative; width:100%; - height: <dtml-var expr="thumb_height/2 + 12">px;; + height: <dtml-var expr="thumb_size/2 + 12">px;; } #film_bar table { @@ -350,8 +350,8 @@ div.lightbox { } #film_bar a { - width: <dtml-var expr="thumb_width/2 + 10">px;; - height: <dtml-var expr="thumb_height/2 + 10">px;; + width: <dtml-var expr="thumb_size/2 + 10">px;; + height: <dtml-var expr="thumb_size/2 + 10">px;; display:block; text-align:center; vertical-align:middle; -- 2.20.1