       @parseOptions(results)
       @render()
 
+  # Anything to do before rendering on the client or server.
+  # This is useful for i.e. accessing @model in the client after
+  # @hydrate() is called, but before @getTemplateData() is called.
+  _preRender: ->
+    @preRender()
+
   # Anything to do after rendering on the client.
   _postRender: ->
     @postRender()
+
+  # To be overridden by subclasses.
+  preRender: noop
 
   # To be overridden by subclasses.
   postRender: noop

    # with this view, and tries to load it from memory.
    @hydrate()

    # We have to call postRender() so client-only things happen,
    # i.e. initialize slideshows, etc.
    @_postRender()

    "<#{@tagName}#{attrString}>#{html}</#{@tagName}>"

  render: =>
    @_preRender()
    html = @getInnerHtml()
    @$el.html html
    @attachChildViews()
    @_postRender()
