alt ZopeTips

Add zope tips for display in the footer/front page. Concrete, real-world tips are best.

Don't rely on debian zope packages (yet). For the love of god, don't depend on gentoo zope packages. Use the source tarball instead.

Use the source, Luke.

Separate logic, presentation and content. You will be happy you did.

Regard PythonScripts as design, not logic. Methods that change things belong on the object or in a tool, not in a script. (TTW developers can't change things ?)

If you are getting too clever with python code in PageTemplates or DTML, consider moving it to a PythonScript.

Copying and pasting a CMF content object resets the publish state to visible. To preserve state, cut it instead.

Fast way to learn DTML: test on a non-plone dtml-enabled zwiki page.

For more detail on DTML, TAL and other errors: use the ErrorLog and EventLog

To solve DTML and TAL puzzles: check APIDocs; use zopectl debug

To monitor zope activity, set EventLog level to BLATHER and keep windows open running tail -f on various ZopeLogs

To get an attribute without acquisition: obj.aq_base.attr_name. In restricted python: obj.aq_explicit.attr_name (but it's less thorough)

Enable tracebacks in /error_log and tail -f event.log to monitor errors

Zope 2.7's event log is not good for diagnosing startup problems - use runzope instead

TAL paths like some/where/here will call here if it's callable, but not some or where

Translations of Plone product actions must be in the plone domain. Most plone products provide product-xx.po and plone-xx.po files.

mindlace: can't i push a dict onto the available names via < dtml-with > ?
jshell: you might have to do < dtml-with [name] mapping>
jshell: with < dtml-in>, you have to tell it mapping in order for it to use the __getitem__ protocol instead of __getattr__. And dtml-with is a specialized dtml-in, IIRC


Click "help" at top-left for help on using this wiki. If you don't see it, click "full" first. *

page rating: 3 from 1 votes

click to rate (voting as: