パーソナルツール
現在の場所: ホーム plone SNS風味 メンバー検索 メンバー情報を登録
書いた本
Plone 完全活用ガイド の Chapter 1, 2, 3, 11 を執筆しました。
plone のインストール、使い方から、機能・デザインのカスタマイズ、プロダクトの作り方まで、 plone のすべてがぎゅっと詰まっている書籍になっていると思います。
plone に興味がある人から、すでに使いこなしている方まで、ぜひ読んでみてください。
Plone 完全活用ガイドのサポートページ
ナビゲーション

 
文書操作

メンバー情報を登録

作成者 takanori 最終変更日時 2005年11月10日 20時11分

テーブルを作成したので、全メンバー情報をデータベースに登録します。

目次

スクリプト群[script]

作成するスクリプトは以下の通りです。

メンバー情報を常に最新の情報にするために、以下のようなスクリプトを作成して使用します。

なお、これらのスクリプトはここでは Plone のルートフォルダの下に SQL フォルダを作成して保存することにします。

  • member_insert メンバー情報をデータベースに書き込むための Z SQL Method
  • member_update メンバー情報を更新するための Z SQL Method
  • member_exist 指定された ID の情報がデータベースに存在するか調べる Z SQL Method
  • insert_member_data 指定された(または全)メンバーの情報を登録する Python Script

以下に、それぞれの内容を記述します。

メンバー情報登録[insert]

メンバー情報をデータベースに書く込むための Z SQL Method は以下の通りです。

基本的に、引数でわたってきた値をそのまま insert 文で挿入するだけです。

  • Id member_insert
  • Title メンバー情報をテーブルに登録
  • Arguments id fullname nickname email organization workplace telno telext sex blood location hometown day month year hobby homepage skype introduction portrait photo searchable_text
  • ソースコード:
        insert into member
          (id, fullname, nickname, email, organization, workplace, telno, telext,
           sex, blood, location, hometown, day, month, year, hobby, homepage,
           skype, introduction, portrait, photo, searchable_text)
          values
          (
            <dtml-sqlvar id type="string">,
            <dtml-sqlvar fullname type="string">,
            <dtml-sqlvar nickname type="string">,
            <dtml-sqlvar email type="string">,
            <dtml-sqlvar organization type="string">,
            <dtml-sqlvar workplace type="string">,
            <dtml-sqlvar telno type="string">,
            <dtml-sqlvar telext type="string">,
            <dtml-sqlvar sex type="string">,
            <dtml-sqlvar blood type="string">,
            <dtml-sqlvar location type="string">,
            <dtml-sqlvar hometown type="string">,
            <dtml-sqlvar day type="string">,
            <dtml-sqlvar month type="string">,
            <dtml-sqlvar year type="string">,
            <dtml-sqlvar hobby type="string">,
            <dtml-sqlvar homepage type="string">,
            <dtml-sqlvar skype type="string">,
            <dtml-sqlvar introduction type="string">,
            <dtml-sqlvar portrait type="string">,
            <dtml-sqlvar photo type="string">,
            <dtml-sqlvar searchable_text type="string">
          )
    

メンバー情報更新[update]

データベースに書き込まれているメンバー情報を更新するための Z SQL Method は以下の通りです。

引数(Arguments)は メンバー情報登録 と同じです。

引数 id が同じデータを更新します。

  • Id member_insert
  • Title メンバー情報をテーブルに登録
  • Arguments id fullname nickname email organization workplace telno telext sex blood location hometown day month year hobby homepage skype introduction portrait photo searchable_text
  • ソースコード:
        update member 
          set fullname = <dtml-sqlvar fullname type="string">,
            kananame = <dtml-sqlvar kananame type="string">,
            nickname = <dtml-sqlvar nickname type="string">,
            email = <dtml-sqlvar email type="string">,
            email = <dtml-sqlvar email type="string">,
            organization = <dtml-sqlvar organization type="string">,
            workplace = <dtml-sqlvar workplace type="string">,
            telno = <dtml-sqlvar telno type="string">,
            telext = <dtml-sqlvar telext type="string">,
            sex = <dtml-sqlvar sex type="string">,
            blood = <dtml-sqlvar blood type="string">,
            location = <dtml-sqlvar location type="string">,
            hometown = <dtml-sqlvar hometown type="string">,
            day = <dtml-sqlvar day type="string">,
            month = <dtml-sqlvar month type="string">,
            year = <dtml-sqlvar year type="string">,
            hobby = <dtml-sqlvar hobby type="string">,
            homepage = <dtml-sqlvar homepage type="string">,
            skype = <dtml-sqlvar skype type="string">,
            introduction = <dtml-sqlvar introduction type="string">,
            portrait = <dtml-sqlvar portrait type="string">,
            photo = <dtml-sqlvar photo type="string">,
            searchable_text = <dtml-sqlvar searchable_text type="string">
          where id = <dtml-sqlvar id type="string">
    

メンバー情報の存在[exist]

データベースに、指定された id のメンバー情報が存在するか調べるための Z SQL Method は以下の通りです。

メンバー情報が存在するとその id を返し、存在しない場合は何も返しません。

その結果により、メンバー情報登録メンバー情報更新 をスクリプトで使い分けます。

  • Id member_exist
  • Title メンバー情報が存在するか調べる
  • Arguments id
  • ソースコード:
        select id from member where id = <dtml-sqlvar id type="string">
    

メンバー情報登録スクリプト[python]

指定された(または全)メンバーの情報を登録(または更新)する Python Script です。

  • Id insert_member_data
  • Title 指定されたメンバーの情報を登録(または全メンバー登録)
  • Parameter List member_id=None
  • ソースコード insert_member_data のソース を参照してください。

このスクリプトを実行すると、メンバー情報が最新の状態に更新されるようになります。(削除はされませんが)

次に、メンバー検索 をデータベースから検索するようにします。

関連コンテンツ

Powered by vine linux, python, zope, plone, coreblog