DataBox

提供: GeeklogJpWiki

DataBoxプラグインは、個々のデータに、フィールドを自由に追加できる、カテゴリ検索可能なプラグインです。

目次

機能

  • データをカテゴリを指定してリスト表示。最終的に、個々のデータを表示します。
  • データは自由にフィールドを追加できます。
  • 表示するデータやカテゴリのテーマを指定できます。
  • カテゴリはグループ化、さらに階層化できます。
  • インポート、エクスポート機能を提供予定です。
  • コンフィギュレーション-DataBox が用意されています。
  • 権限のあるデータをユーザが編集できます。
  • データをユーザが投稿できます。
  • デフォルトテンプレートをデータ個別に指定できます。
  • 追加項目ひとつずつ,こまかいアクセス権が設定できます。編集できる対象と,表示する対象。

開発の背景

http://www.bali-ch.com http://www.oka-ch.com におけるホテルやツアー検索プラグインとしてhotelプラグインを開発。その後、http://www.nayamijiten.com にて、プロ検索プラグインとして。http://www.ossj.jp ではOSS検索プラグインを開発してきました。

しかしながら、これらは汎用的なプラグインではなく、各サイトに特化したプラグインでした。

毎回このようなサイトを開発するたびに膨大な開発をおこなうのは非効率的であり、汎用的なプラグインの開発を志向して、開発を重ね、今回テスト版の公開を行ないました。

まだまだテーブル設計やテンプレート構造で変更が予定されており、開発者向けとしてのみ公開です。アップグレードには対応していませんので注意していただきたいのですが、どうぞご利用ください。

コンフィギュレーション

  • topに表示するプログラム /databox/category.php とすると、/databox/ を指定したとき、カテゴリが表示されます。
  • codeを利用する にすると、データ、カテゴリでそれぞれコードでURLを表示できます。すべてcodeを利用するのモードで利用することをおすすめします。
  • テンプレートは、テーマを選ぶと、テーマ内の/databox/templates/以下のテンプレートを指定できます。テーマ内へあらかじめテンプレートをコピーしてください。テーマエディタの編集できるテーマに追加すると便利です。カテゴリのディレクトリは,/databox/templates/ を指定してください。


テンプレート

テンプレートは、デフォルトは、/plugins/databox/templates/ ですが、/plugins/databox/custom/templates/ あるいは、テーマの /(public_html)/layout/(theme)/databox/templates/ を指定することができます。

設定はコンフィギュレーションで行ないます。


管理画面

情報

提供する自動タグや、各テンプレート、およびテンプレートで利用できるテーマ変数を紹介しています。


データ

データの管理を行います。


追加項目

データの追加項目についての管理画面です。データに自由なタイプでフィールドを追加できます。


カテゴリ

データのカテゴリを追加します。 データは必ずカテゴリを指定してください。


グループ

追加項目のグルーピングおよび、カテゴリのグルーピングのためにグループを作成します。グループの設定は任意です。


エクスポート&インポート

データのエクスポートとインポートを行います。

カテゴリ表示とリスト表示とデータ表示

それぞれテーマを指定して表示できます。テーマは、それぞれデフォルトとして、default が用意されていますが、これを自由に追加して、指定して表示することができます。

  • /databox/category.php/(theme)
  • /databox/category.php/code/(categorycode)/(theme)
  • /databox/data.php/code/(datacode)/(theme)

個別のデータに最初からデフォルトテーマを保存できるように変更予定です。


Auto tags

記事、静的ページ、ブロック、他で利用出来る自動タグを多数用意しています。

  • count: 登録数、カテゴリ別登録数
  • newlist: 新着データ テンプレートを指定して指定期間、指定数の情報を連続表示します。
  • data: 指定のデータを、テンプレートを指定して表示します。
  • category:指定のカテゴリのデータを新着あるいはランダムで、テンプレートを指定して表示します。
Data Count [databox:count]
    [databox:count category_id:1]
    [databox:count category_code:japan]

newlist [databox:newlist]
    [databox:newlist rss_file:databox.rss title_trim_length:50 intervalday:70 limitcnt:40 newmarkday:30 thtml:aaa]

data [databox:data]
    [databox:data id:1 thtml:aaa nohitmsg:yes]

category [databox:category]
    [databox:category category_id:1 thtml:aaa nohitmsg:yes perpage:10 order:id]

Templates

data
    data/default/list_detail.thtml
    data/default/row.thtml
    data/default/col_detail.thtml
    data/default/category_row.thtml

    {site_admin_url} {site_url} {draft} {lang_id} {id} {lang_code} {code} {lang_title} {title} {lang_description} {description} {lang_hits} {hits} {lang_modified} {created} {modified} {lang_created} {lang_uuid} {uuid} {edit} {lang_category} {categoies} {categoieslink} {categoieslinkid} {categoieslinkcode} {group_1} {grouplink_1} {group_xxx} {grouplink_xxx} {lang_additionfields} {additionfields} {additionfield1} {additionfield_name} {additionfield_templatesetvar} {additionfield_value} 

category
    category/default/list.thtml
    category/default/col.thtml
    category/default/navigation.thtml
    category/default/pagenavigation.thtml
    category/default/row.thtml
    category/default/col_detail.thtml
    category/default/list_detail.thtml
    category/default/navigation_detail.thtml

    {site_url} {this_script} {home} {lang_category_list_h2} {cnt} {lang_view} {lin} {lang_name} {lang_cnt} {lang_code} {lang_id} {page_navigation} {blockfooter} {msg} {category_top} {category_name} {category_code} {category_link} {category_name} {category_url} {count} {data_link} {data_title} {data_url} {data_code} {data_id} {begin_backlink} {lang_back} {end_backlink} {lang_page_of} {begin_nextlink} {lang_next} {end_nextlink} 

newlist

    newlist/default/list.thtml
    newlist/default/list_col.thtml

    {rss_url} {rss_title} {more_url} {more_title} {day} {new_img} {url} {title} 

admin

    admin/default/category_editor.thtml

    {site_admin_url} {script} {lang_link_admin} {site_url} {lang_link_admin_top} {lang_category_id} {id} {id} {xhtml} {lang_code} {help_code} {code} {xhtml} {lang_name} {lang_must} {name} {xhtml} {lang_description} {help_description} {lang_parent} {help_parent} {list_parent} {lang_group} {help_group} {list_group} {lang_orderno} {orderno} {xhtml} {lang_udatetime} {udatetime} {lang_uuid} {uuid} {lang_save} {code} {delete_option} {lang_delete_help} {gltoken_name} {gltoken} {xhtml} {additionfield_name} {lang_must} {additionfield_templatesetvar} {additionfield_value} {site_admin_url} {script} {lang_link_admin} {site_url} {lang_link_admin_top} {lang_link_public} {site_url} {lang_link_list} {site_url} {script} {id} {lang_link_detail} {lang_id} {help_id} {id} {xhtml} {lang_draft} {help_draft} {draft_flag} {lang_code} {lang_must_code} {help_code} {code} {lang_title} {help_title} {lang_must} {title} {lang_page_title} {help_page_title} {page_title} {xhtml} {lang_description} {help_description} {lang_category} {help_category} {checklist_category} {hide_meta} {lang_meta_description} {help_meta_description} {hide_meta} {lang_meta_keywords} {help_meta_keywords} {lang_hits} {help_hits} {hits} {hits} {lang_comments} {help_comments} {comments} {comments} {lang_commentcode} {help_commentcode} {optionlist_commentcode} {lang_comment_expire} {help_comment_expire} {is_checked_comment_expire} {xhtml} {datetime_comment_expire} {lang_modified} {help_modified} {lang_modified_autoupdate} {xhtml} {datetime_modified} {lang_released} {help_released} {datetime_released} {lang_expired} {help_expire} {lang_enabled} {is_checked_expired} {xhtml} {xhtml} {lang_additionfields} {additionfields} {xhtml} {lang_accessrights} {lang_owner} {owner_name} {owner_id} {xhtml} {lang_group} {group_dropdown} {lang_permissions} {lang_perm_key} {permissions_editor} {lang_permissions_msg} {lang_udatetime} {udatetime} {lang_uuid} {uuid} {udatetime} {lang_created} {created} {created} {lang_save} {lang_cancel} {code} {xhtml} {delete_option} {gltoken_name} {gltoken} {xhtml} {show_comment_expire} 

admin/default/field_editor.thtml

    {site_admin_url} {script} {lang_link_admin} {site_url} {lang_link_admin_top} {lang_field_id} {id} {id} {xhtml} {lang_name} {lang_must} {name} {xhtml} {lang_templatesetvar} {lang_must} {templatesetvar} {xhtml} {lang_description} {help_description} {description} {lang_type} {help_type} {list_type} {lang_checkrequried} {help_checkrequried} {list_checkrequried} {lang_size} {xhtml} {lang_maxlength} {maxlength} {xhtml} {rows} {lang_br} {help_br} {list_br} {lang_selection} {help_selection} {selection} {lang_selectlist} {help_selectlist} {list_selectlist} {lang_group} {help_group} {list_group} {lang_orderno} {orderno} {xhtml} {lang_udatetime} {udatetime} {lang_uuid} {uuid} {lang_save} {lang_cancel} {xhtml} {code} {xhtml} {delete_option} {lang_delete_help} {gltoken_name} {gltoken} {xhtml} 

admin/default/group_editor.thtml

    {site_admin_url} {script} {lang_link_admin} {site_url} {lang_link_admin_top} {lang_group_id} {id} {xhtml} {lang_code} {help_code} {code} {xhtml} {lang_name} {lang_must} {name} {lang_description} {help_description} {description} {orderno} {xhtml} {lang_parent_flg} {help_parent_flg} {list_parent_flg} {lang_udatetime} {udatetime} {lang_uuid} {uuid} {lang_save} {xhtml} {lang_cancel} {xhtml} {code} {xhtml} {delete_option} {lang_delete_help} {gltoken_name} {gltoken} 

admin/default/import.thtml

    {msg} {site_admin_url} {script} {importmsg} {importfile} {xhtml} {xhtml} {submit} {xhtml} {gltoken_name} {gltoken} {xhtml} 

admin/default/information.thtml

admin/default/row.thtml

利用例:

[databox:data id:1 thtml:aaa nohitmsg:yes]

これは、ID 1 のデータをテーマaaa を利用して表示するものです。テーマは、/templates/data/default/ がデフォルトですが、これをコピーして/templates/data/aaa/ を作成し、カスタマイズして自由にレイアウトを作成します。




事例の http://www.musenmai.com/databox/summary.php/code/monthly  は、カテゴリ表示で summary.php となっていますが、現在は、 category.php とプログラム名を変えています。


開発予定の、UserBoxプラグインは、ユーザと連動。FormBoxプラグインは、フォームメール機能を提供します。

個人用ツール