Hi Stephen

I'm in the same place as Hermann -- I've followed formdemo's message package
as closely as I can and made an object in debug mode, but when I try to view
or edit it, zope says it can't find index.html or edit.html. At some point I
realized that I was retyping code I had previously deleted and was thus
going in circles, so any help would be deeply appreciated. I'll admit now
that I'm pretty new to zope 3 and am trying to work both from your examples
and doctests and Philipp's book, so I may be muddled in more than one place.

On 6/19/07, Stephan Richter <[EMAIL PROTECTED]> wrote:


Are you sure your skin has the correct layer in it? Have you looked at the
Hello World example in z3c.formdemo?


Could you explain this a little more? I have declared a layer as follows:

from z3c.form.interfaces import IFormLayer
from z3c.layer.pagelet import IPageletBrowserLayer

class IMovingTargetBrowserLayer(IFormLayer, IPageletBrowserLayer):
   """The moving target browser skin layer"""

and registered it:
   <!-- Moving Target Skin Layer -->
 <interface
     interface="movingtarget.layer.IMovingTargetBrowserLayer"
     type="zope.publisher.interfaces.browser.IBrowserSkinType"
     name="MovingTargetLayer"
   />

Then I have a browser skin:

from z3c.formui import interfaces
from movingtarget.layer import IMovingTargetBrowserLayer

class IMovingTargetBrowserSkin(interfaces.IDivFormLayer,
IMovingTargetBrowserLayer):
   """The Moving Target Browser skin"""

which I register:

 <zope:interface
     interface="movingtarget.skin.browserskin.IMovingTargetBrowserSkin"
     type="zope.publisher.interfaces.browser.IBrowserSkinType"
     name="MovingTargetBrowser"
     />

 <!-- layout template -->
 <z3c:layout
     for="*"
     layer="movingtarget.layer.IMovingTargetBrowserLayer"
     template="template.pt"
     />

I have very simple edit and display classes:

class NextActionEditForm(form.EditForm, layout.FormLayoutSupport):
   """A simple edit form for Next Actions"""
   label = u"Next Action Edit Form"
   fields = field.Fields(INextAction)

class NextActionDisplayForm(form.DisplayForm, layout.FormLayoutSupport):
   """The display form for NextActions"""
   fields = field.Fields(INextAction)

which I *think* I've registered edit and displays view with the following:

 <!-- Edit Form -->
 <z3c:pagelet
     name="edit.html"
     for="movingtarget.interfaces.INextAction"
     class=".nextaction.NextActionEditForm"
     layer="movingtarget.skin.browserskin.IMovingTargetBrowserSkin"
     permission="zope.ManageContent"
     />

 <!-- Display Form -->
 <z3c:pagelet
     name="index.html"
     for="movingtarget.interfaces.INextAction"
     class=".nextaction.NextActionDisplayForm"
     layer="movingtarget.skin.browserskin.IMovingTargetBrowserSkin"
     permission="zope.Public"
     />

 <z3c:template
     template="nextactionview.pt"
     for=".nextaction.NextActionDisplayForm"
     layer="movingtarget.skin.browserskin.IMovingTargetBrowserSkin"
     />

But when I click on the name of my interpreter-made object, I get a 404.
Anything obvious I'm missing?

Thank you,
Matt
_______________________________________________
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users

Reply via email to