wildcard.templatedviews 1.0 Beta 4

Provide templated views with schema settings associated with them
wildcard.templatedviews is a Plone product that allows you to define a set of views, schemas, and templates that can be used as templates for a view on a Plone site.

So basically, it just allows an easy mechanism to provide extra, reusable templates that have settings attached to them. Easy template that you fill in the settings for, can then be reference from another template view on the site elsewhere.

Basic example

Define your settings:

>>> class ICustomSettings(Interface):
>>> setting_one = schema.TextLine(title=u'Setting One')
>>> setting_two = schema.Text(title=u'Setting Two', default=u'')


Define a template view utility:

>>> from wildcard.templatedviews.browser import BaseViewUtility
>>> from plone.app.form.widgets.wysiwygwidget import WYSIWYGWidget
>>> class CustomTemplateViewUtility(BaseViewUtility):
>>> settings = ICustomSettings
>>> _for = None
>>> title = u'Custom Template'
>>> description = u'a custom template settings.'
>>> custom_widgets = (
>>> ('setting_one', WYSIWYGWidget),
>>> )


And wire it up with zcml:

>>> < browser:page
>>> for="*"
>>> name="custom-template"
>>> class="wildcard.templatedviews.browser.BaseView"
>>> template="templates/custom-template.pt"
>>> permission="zope2.View"
>>> / >
>>> < utility factory=".CustomTemplateViewUtility" name="custom-template" / >
>>> < adapter
>>> for="*"
>>> provides=".ICustomSettings"
>>> factory="wildcard.templatedviews.settings.TemplateViewSettings"
>>> / >

Then in your custom-template.pt, you can use the settings like this:

>>> < html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
>>> xmlns:tal="http://xml.zope.org/namespaces/tal"
>>> xmlns:metal="http://xml.zope.org/namespaces/metal"
>>> xmlns:i18n="http://xml.zope.org/namespaces/i18n"
>>> lang="en"
>>> metal:use-macro="here/main_template/macros/master"
>>> i18n:domain="plone" >
>>> < body >
>>>
>>> < metal:main fill-slot="main" tal:define="settings python: view.settings" >
>>> < tal:main-macro metal:define-macro="main" >
>>> < h1 tal:content="python: settings.setting_one" / >
>>> < p tal:content="structure python: settings.setting_two" / >
>>> < /tal:main-macro >
>>> < /metal:main >
>>> < /body >
>>> < /html >

Now to use it after you've installed it, select "templated-view" from the display drop down, then use the "Select Template" and "Template Settings" to customize your templated view.

last updated on:
August 30th, 2012, 9:12 GMT
price:
FREE!
developed by:
Nathan Van Gheem
homepage:
svn.plone.org
license type:
GPL (GNU General Public License) 
category:
ROOT \ Internet \ Plone Extensions

FREE!

In a hurry? Add it to your Download Basket!

user rating

UNRATED
0.0/5
 

0/5

What's New in This Release:
  • Fix use of transform
read full changelog

Add your review!

SUBMIT