Ofbiz: одна форма с двумя кнопками отправки с двумя разными целями - PullRequest
0 голосов
/ 06 ноября 2018

Ofbiz предлагает формы, написанные в формате xml:

partyForm.xml: 

<form name="AddPartyNote" type="single" target="createPartyNote"
    focus-field-name="noteId" header-row-style="header-row" default-table-style="basic-table">
    <auto-fields-service service-name="createPartyNote"/>
    <field name="partyId"><hidden/></field>
    <field name="noteId" tooltip="${uiLabelMap.PartyOptional}"><hidden/></field>
    <field name="noteName" title="${uiLabelMap.FormFieldTitle_noteName}" tooltip="${uiLabelMap.PartyOptional}"> </field>
    <field name="note"><textarea cols="70" rows="10"/></field>
    <field name="submitButton" title="${uiLabelMap.CommonSave}" widget-style="smallSubmit"><submit button-type="text-link"/></field>
    <field name="cancelLink" title=" " widget-style="smallSubmit">
        <hyperlink target="${donePage}" also-hidden="false" description="${uiLabelMap.CommonCancelDone}">
            <parameter param-name="partyId"/>
        </hyperlink>
    </field>
</form>

Для каждой формы есть кнопка отправки и, скорее всего, несколько других кнопок, таких как отмена, обновление и т. Д.

Форма выше служит для добавления заметки. для того, чтобы это произошло, он вызывает службу и цель createPartyNote.

Я создал новый сервис с именем createPartyNoteAndNotify, и то же самое для цели.

Теперь мне нужно добавить новую кнопку с именем Сохранить и уведомить

, что аналогично кнопке save : <field name="submitButton" title="${uiLabelMap.Common..... из вышеперечисленного, но с другой целью и обслуживанием (новые createPartyNoteAndNotify)

Я попробовал следующее:

<auto-fields-service service-name="createPartyNoteAndNotify"/>
<field name="submitAndNotifyButton" title=" " widget-style="smallSubmit"><submit button-type="text-link"/></field>

и многие другие пути без успеха.

Как добавить еще одну кнопку в форму, которая служит другой цели?

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

Этого можно добиться с помощью условий alt-target и use-when. Также кнопку можно показать или скрыть с помощью use-when. Пожалуйста, найдите аналогичный код, упомянутый ниже в том же файле PartyForms.xml

`<alt-target use-when="${your_condition}" target="${your_target}" ..../>`

`<field name="${field_name}" use-when="${your_condition}" ..... />`
0 голосов
/ 10 ноября 2018

Я бы предложил создать другую форму с целью createPartyNoteAndNotify, в которой бы были только скрытые поля.
Включите эту форму на экране.
Теперь добавьте поле в форме выше, так что

<field name="notify" title=" " widget-style="buttontext">
            <hyperlink description="save and notify" target="javascript:(document.formname.submit())" also-hidden="false" target-type="plain"/>
</field>

где formname будет именем новой формы.

Для таких запросов вы также можете использовать почтовую рассылку Apache OFBiz list .

НТН

...