Listing 2. smallhello/smallhello.py
import OFS.SimpleItem # Basic acquisition
from Globals import HTMLFile # Lets us bring in an
# HTML file
class smallhello(OFS.SimpleItem.SimpleItem):
"""This is the class that defines our smallhello
product. We have a method for initialization
(__init__), another that displays a brief HTML
message by default, and a third that displays
output from a DTML file."""
meta_type = 'smallhello'
def __init__(self, id, title):
"initialize a new instance of Smallhello"
self.id = id
self.title = title
def index_html(self):
"Show us some basic content!"
return """
<html>
<head><title>Hello, world!</title></head>
<body>
<h1>Hello, world!</h1>
<p>Welcome to my 'smallhello' Zope product</p>
</body>
</html>"""
def other_html(self):
"More basic content"
return """
<html>
<head><title>More content!</title></head>
<body>
<h1>More content!</h1>
<p>You can define lots of methods if
you want...</p>
</body>
</html>"""
def foo_file(self):
"Demonstrate returning content from a file"
return HTMLFile('foo', globals())
def manage_smallhello(self, RESPONSE):
"Add a Smallhello to a folder."
self._setObject('smallhello_id',
smallhello('smallhello_id', 'smallhello_title'))
RESPONSE.redirect('index_html')