wiki.zope.jp
zota_newType
   
RecentChanges WikiHelp WikiPractice JumpSearch

お店住所録 typeの作成方法

以下の項目を編集可能とする。

名前 - ShopName?

住所 - ShopAddress?

#############

"root"-"Control_panel"-"Product"で"Add Product"

#############

ID:CMFShopAddress?

Generate

#############

"CMFShopAddress?"を選択、プルダウンで"Z Class"を追加

Id:ShopAddress?

Meta Type:ShopAddress?

"Base Classes"で"CMF Core:PortalContent?"と"CMFDefault:DefaultDublinCoreImpl"を選択してAdd

"Create constructor objects?"と"Include standard Zope persistent object base classes?"は選択したまま。

#############

"/Control_Panel/Products/CMFShopAddress?"で"Script(python)"で"addShopAddress"を追加

内容は

Parameter List:id

context.manage_addProduct['CMFShopAddress']?.ShopAddress?.createInObjectManager(id,container.REQUEST)

return id

#############

"ShopAddress?_factory"を選択し、"Permission"を"Add portal content"に変更

############# 属性を定義する

"/Control_Panel/Products/CMFShopAddress?/ShopAddress?/"を選択し、"Property Sheets"タブを選択

Addで

ID:ShopAddressPropertySheet?

とし、"Add"

"ShopAddressPropertySheet?"を選択し、

Valueは空のままで、

ID:ShopName?(String)

ID:ShopAddress?(String)

を追加

#############

"/Control_Panel/Products/CMFShopAddress?/ShopAddress?/"で以下のファイルを順次作成

>>>>>>>>>>>>>>>>>>>>>>>>>>>>

editForm(DTML Method)

<dtml-var standard_html_header>

<form action="./" method="POST" enctype="multipart/form-data">

<h2>

Add Content</h2>

<table width="100%" cellpadding="5">

<tr>

<td><b><i>ShopName:</i></b></td>

</tr>

<tr>

<td><input name="ShopName?" size="50" value="<dtml-var ShopName?>"></td>

</tr>

<tr>

<td><b>How to access</b></td>

</tr>

<tr>

<td><input name="ShopAccess?" size="50" value="<dtml-var ShopAccess?>"></td>

</tr>

</table>

<table><tr><td width="150"> </td><td>

<p align="right">

<input type="submit" value=" Finish " name="EditDone:method">

</p>

</td></tr></table>

</form>

<dtml-var standard_html_footer>

<<<<<<<<<<<<<<<<<<<<<<<<<<<<

>>>>>>>>>>>>>>>>>>>>>>>>>>>>

EditDone? (DTML Method)

<dtml-call "propertysheets.ShopAddressPropertySheet?.manage_changeProperties(REQUEST)">

<dtml-call "manage_changeProperties(REQUEST)">

<dtml-call indexObject>

<dtml-call "RESPONSE.redirect(URL2+/folder_contents)">

<<<<<<<<<<<<<<<<<<<<<<<<<<<<

#############

使用しているCMFの"portal_types"を選択、"Factory-based Type Information"を追加

ID:ShopAddressData?

Use default type information:(None)

"ShopAddressData?"を選択

Title:ShopAddress?

Description:お店のアドレス帳です

Meta type:ShopAddress?

Product name:CMFShopAddress?

Factory method in product:addShopAddress

Initial view name:editForm

Save Change

####################################

この時点で、CMFでオブジェクトを追加できるか確認してみる。

####################################

"/portal_types/ShopAddressData?"の"Actions"タブで"Action"を追加

Name:View

Id:View

Action:view

Permission:View

Category:object

Visible?:True

"/Control_Panel/Products/CMFShopAddress?/ShopAddress?/"で"View"(DTML Method)を追加

>>>>>>>>>>>>>>>>>>>>>>>>>>>>

<dtml-var standard_html_header>

<div>

<div>

<dtml-var content_byline>

<dtml-var ShopName?><br>

<dtml-var ShopAddress?>

</div>

</div>

<dtml-var standard_html_footer>

<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Viewでオブジェクトを参照してみる。

"/portal_types/ShopAddressData?"の"Actions"タブで"Action"を追加

Name:Edit

Id:Edit

Action:editForm

Permission:Modify portal content

Category:object

Visible?:True

Editでオブジェクトを修正してみる。

"/portal_types/ShopAddressData?"の"Actions"タブで"Action"を追加

Name:Metadata

Id:metadata

Action:metadata_edit_form

Permission:Modify portal content

Category:object

Visible?:True

metadataでオブジェクトを修正してみる。

注意事項:

Last edited Mon, 11 Sep 2006 04:04:11 +0900 Edit this page