Создание пользовательской editForm в Plone & Dexterity, как сохранить изменения в объекте? - PullRequest
0 голосов
/ 07 декабря 2011

Мы работаем над студенческим проектом в нашем университете, и нам приходится работать с типами контента Plone и Dexterity.

Мы создали собственный тип контента и сейчас пытаемся создать для него специальную форму редактирования. Однако кажется, что мы не можем сохранить что-либо, что мы вводим в форме редактирования, в сам объект.

<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="context/main_template/macros/master"
  i18n:domain="pacs.content">
<body>



<metal:main fill-slot="main">
    <metal:main define-macro="main"
       tal:define="currentSelection view/selected_org_unit">

    <div tal:replace="structure provider:plone.abovecontenttitle" />

    <h1 class="documentFirstHeading" tal:content="context/title" />

    <div tal:replace="structure provider:plone.belowcontenttitle" />

    <p class="documentDescription" tal:content="context/shortname" />

    <div tal:replace="structure provider:plone.abovecontentbody" />

    <div tal:content="structure context/projectnr" />        
    <div>
    <fieldset style="border:1px #000 solid">
    <legend>Bereichszuordnung</legend>

        <select name="org_unit" size="1">
            <option value="">Bitte auswählen</option>
            <option
                    tal:repeat="code view/org_units"
                    tal:attributes="value code;
                                            selected python:currentSelection == code and 'selected' or None"
                    tal:content="code"
            />
        </select>
    </fieldset>
    </div>

    <div tal:content="structure context/org_unit" />
    <div tal:content="structure context/project_head" />
    <div tal:content="structure context/confidential" />

    <input id="form-buttons-save" 
    name="form.buttons.save" class="submit-widget button-field context" value="Save" type="submit" />        
    <div tal:replace="structure provider:plone.belowcontentbody" />
    <div metal:use-macro="context/batch_macros/macros/navigation" />

</metal:main>
</metal:main>

Заранее благодарим за любую помощь, которую вы можете предложить, и я с удовольствием загрузлю любой соответствующий код.

1 Ответ

1 голос
/ 08 декабря 2011

Вы регистрируете форму редактирования?

class EditForm(dexterity.EditForm):
    grok.context(IYourContentType)

Посмотрите на Пользовательские формы добавления и редактирования для получения дополнительной информации.

...