LOGIN ID Password Auto Login Register Now! Lost Password?
XUGJ Forum

XOOPS汎用データベースモジュール のダウンロードファイルを!

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー


前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2016/4/21 13:57
kamezou  1st Class 居住地: 2013~  投稿数: 51
piCal モジュールを使ってみてはいかがでしょう。

件名に名前
開始日時に出勤時間
終了日時に退勤時間
場所に元気印
カテゴリーにグループ

を入力するようにし、表示関係は言語定数とテンプレートの変更で…
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2016/4/21 14:27 | 最終変更
kyd02776  1st Class 居住地: ☆☆  投稿数: 39
タイムカードっぽく、
1.ログインして
2.「新規登録」で開く
3.出退勤のどちらかを選ぶ
4.元気印
 (朝は、今日も頑張るぞ/遅刻した/体調悪い)
 (帰りは、予定通りできた!/トラブって出来なかった/全然ダメ)
まで入れたら、
5.IDと時刻は自動で入る
としたい。

朝夕は利用者が被るので、EXCELファイルとかに書き込む形だとちょっとつらいんですよね。排他がかかって。

Webで投げ込む形にしたいんですけど。



ただいまTubsonを落としてみたけど、最初のインストールの方法がわからない。
遙か昔にcubsonを試したときは、ローカルのMySQLを見に行っていたような気がするが、今はサーバに置いているDBを見ないと。。。
環境変数だっけなぁ。思い出せない。

幾つかcubsonの使い方が書いてるところを見てますが、肝心なページが表示できないよぉ~。。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016/4/21 18:13 | 最終変更
kamezou  1st Class 居住地: 2013~  投稿数: 51
では、d3forumで…

名前(ID)は投稿者(自動入力)
出勤時間はトピック開始の投稿日時(自動入力)
退勤時間は最新投稿の投稿日時(自動入力)
元気印は投稿本文

題名は必須ですが、テンプレートを変更すれば、テキトーなものを自動入力&非表示できるので…

あとは、カスタムブロックに投稿画面へのリンクを記述。


追記:
元気印はメッセージアイコンを流用してもいいかも。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016/4/22 0:12
heiji  Ensign 居住地: ☆☆☆  投稿数: 251
kyd02776さん、こんばんは。

TUBSONは、先にご紹介した通り、私が試したときも動かなかったです。
おそらく、開発当時と、クライアントOSなどの環境が変わってしまったからだと思います。

で、kilicaさんからTUBSONPを薦められました。
が、今となっては「Sorry, we are currently closed for new user registrations.」ですね。

FACTRYも同様のようです。(私はアカウント取得済みなので、まだ使えるようですが。)

う~ん、FACTORYなら以下でソースが公開されているようですが、自分のところにインストールして動きませんかね。
https://sourceforge.net/p/kilica/svn/HEAD/tree/

naaoさんの投稿を読んで思い出しましたが、FACTORYで生成される自作モジュールは、Cool URI などにも対応しているので、苦労して作ればそれなりの見返りはあると思います。

ちなみに、EXCELの排他制御で困っているだけであれば、「共有ブック機能」というのがありますよね。是非お試しを!
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - | 投稿日時 2016/4/22 20:51
nao-pon  Lieutenant   投稿数: 488
こんにちは。データベースというと FlatData - Never Ever というものもあります。今回の件でマッチするかどうかは分からないけど、とりあえず情報としてお伝えしておきます。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 | 投稿日時 2016/4/22 21:59
kyd02776  1st Class 居住地: ☆☆  投稿数: 39
皆様、色々とご指導ありがとうございます。

現在は、xcckを使ってトライアル中です。

modules\xcckをコピーして、rename&インストールして、DB項目を定義しました。

sTime 出退勤時刻 date 11 編集 削除
sKubun 出退勤区分 selectbox 12 編集 削除
genki 元気印   selectbox 13 編集 削除

当然ですが、新規レコードも作成でき、一覧表示も大丈夫。
で、テンプレート中心にいじる箇所を探しつつ。。。。。。


■「タイトル」を入力不要にする。【出来た!】
 タイムカードを入れるだけなので、タイトルは不要。DBからは消せないので、表示しない方針で固定値を入れることにしました。
 テンプレートのxxxx_page_edit.htmlをいじって、初期入力時(title=="")はtitleの初期値に適当に固定値を入れて、更新時はその値をそのままいれて、画面にはhiddenにして表示しないようにしました。

■検索画面を作る。【試行錯誤中】
 モジュールの一般設定で、モジュールトップのアクション名を「Search」にしてみる。検索画面が出るが条件の入力欄無し。
 テンプレートのxxxx_page_search.htmlをいじればいいのかな?と思って上部のコメントになっている部分を活かしてみる。→syntax error: unrecognized tag 'xcck_search' となる。。。?
 参考にした::http://jp.xoopsdev.com/modules/wiki/?Menu%2Fxcck%2Fcustomize%2Fsearch (いやいや、私にはこれではなんの参考にもならん。自分のレベルが低すぎて。)

 ちなみに入れたのは、こんな感じ。
----
<form class="form-horizontal" action="index.php" method="GET">
<{xcck_search def=$definitions.title condition="like"}>
<input type="submit" value="<{$smarty.const._SUBMIT}>" />
<{xoops_input type="hidden" name="action" value="PageSearch"}>
</form>
----

 ???Smartyの定義はどこにされているの???
 ???なにかモジュールが足りない???


■これから考える。
・検索条件の初期値を、ログインID+対象月にする
・一覧表示で、日付順に表示&出勤と退勤を並べる


投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016/4/23 2:42
kamezou  1st Class 居住地: 2013~  投稿数: 51
>Smartyの定義はどこにされているの
  xoops_trust_path/libs/smarty/plugins/function.xcck_search_form.php だと思います。

>・検索条件の初期値を、ログインID+対象月にする
  ログインIDはできると思うけど、対象月は難しいと思う。(1ページあたりの表示件数がらみ)

>・一覧表示で、日付順に表示&出勤と退勤を並べる
  並べるなら、出勤と退勤を別々に分けた方がいいと思う。



d3forum でやるなら、こんな感じ。(検索は無いけど…やればできると思う。)

カスタムブロック
<a href="http://localhost/xcck/modules/d3forum/index.php?page=newtopic&forum_id=1">出勤</a>
<a href="http://localhost/xcck/modules/d3forum/index.php?forum_id=1">退勤</a>

テンプレート:d3forum_main_listtopics.html を以下のコードに差し替え
<!-- start forum main table -->
<table class="outer d3f_table">
  <{foreach item=topic from=$topics}>
    <{if $topic.first_post_uid == $xoops_userid}>
      <tr class="<{cycle values="even,odd"}>">
        <td><{$topic.first_post_uname}></td>
        <td><{$topic.first_post_time_formatted}><img src="<{$mod_imageurl}>/posticon<{$topic.first_post_icon}>.gif" /><{$icon_meanings[$topic.first_post_icon]}></td>
        <td>
          <{if $topic.replies>0}>
            <{$topic.last_post_time_formatted}><img src="<{$mod_imageurl}>/posticon<{$topic.last_post_icon}>.gif" /><{$icon_meanings[$topic.last_post_icon]}>
          <{else}>
            <a href="<{$mod_url}>/index.php?page=reply&post_id=<{$topic.first_post_id}>">退勤</a>
          <{/if}>
        </td>
      </tr>
    <{/if}>
  <{/foreach}>
</table>

テンプレート:d3forum_main_viewpost.html を以下のコードに差し替え
<a href="<{$xoops_url}>">トップへ戻る</a><br>
<a href="<{$mod_url}>/index.php?forum_id=1">一覧</a>

テンプレート:d3forum_main_post_form.html を以下のコードに差し替え
<form name="postform" id="postform" action="<{$mod_url}>/index.php?page=post" method="post">
  <input type="hidden" name="mode" id="mode" value="<{$mode}>" />
  <input type="hidden" name="pid" id="pid" value="<{$pid}>" />
  <input type="hidden" name="post_id" id="post_id" value="<{$post_id}>" />
  <input type="hidden" name="topic_id" id="topic_id" value="<{$topic_id}>" />
  <input type="hidden" name="forum_id" id="forum_id" value="<{$forum.id}>" />
  <input type="hidden" name="external_link_id" id="external_link_id" value="<{$external_link_id|escape}>" />
  <input type="hidden" name="reference_quote" id="reference_quote" value="<{$reference_quote}>" />
  <input type="hidden" name="subject" id="subject" value="tt" />
  <input type="hidden" id='message' name='message' value="tt" />

  <table class="outer">
    <tr valign="top" align="left">
      <td class="head"><label for="message_icon"><{$smarty.const._MD_D3FORUM_MESSAGEICON}></label></td>
      <td class="even">
        <select name="icon" id="message_icon"><{html_options options=$icon_options selected=$icon_selected}></select>
      </td>
    </tr>
  </table>
  <input type="submit" class="formButton" name="contents_submit"  id="contents_submit" value="<{$smarty.const._SUBMIT}>" onclick="return xoopsFormValidate_postform();" />
</form>
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016/4/23 14:03 | 最終変更
kyd02776  1st Class 居住地: ☆☆  投稿数: 39
引用:

■検索画面を作る。【試行錯誤中】

 テンプレートのxxxx_page_search.htmlをいじればいいのかな?と思って上部のコメントになっている部分を活かしてみる。→syntax error: unrecognized tag 'xcck_search' となる。。。?

 ちなみに入れたのは、こんな感じ。
----
<form class="form-horizontal" action="index.php" method="GET">
<{xcck_search def=$definitions.title condition="like"}>
<input type="submit" value="<{$smarty.const._SUBMIT}>" />
<{xoops_input type="hidden" name="action" value="PageSearch"}>
</form>
----


xcck_search は誤りで、xcck_search_form が正。
確かにkilicaさんのページにはそういうキーワードになっているが、テンプレートのコメントアウトされていた例文ぽいのを鵜呑みにしてました。

----
<{xcck_search_form def=$definitions.title condition="like"}>
----

そうすると今度はobjectじゃないと言われた。
「title」はダメらしい。
自分で定義した「sKubun」はOK。
おおぉ!そういうことか!ちょっと感激。
でも「sTime」を指定したら入力欄がhiddenになる。なぜ?

うーーん、遅々として進まず。先は長いなぁ。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - | 投稿日時 2016/4/24 23:28 | 最終変更
kamezou  1st Class 居住地: 2013~  投稿数: 51
検索、付けてみました。
題名(subject)に、投稿者名や今日の日付(文字列として)を自動入力です。

d3forum_main_listtopics.html
<!-- start forum main table -->
<div class="d3f_bbsviewctrl">
  <form action="<{$mod_url}>/index.php" method="get">
    <input type="hidden" name="forum_id" value="<{$forum.id}>" />
    <input type="hidden" name="external_link_id" value="<{$query.external_link_id}>" />
    <input type="text" size="12" name="txt" value="<{$query.txt}>" />
    <input type="submit" value="<{$smarty.const._MD_D3FORUM_BTN_REFRESHTOPICS}>" title="<{$smarty.const._MD_D3FORUM_BTN_REFRESHTOPICS}>" />
  </form>
</div>
<table class="outer d3f_table">
  <{foreach item=topic from=$topics}>
    <{if $topic.first_post_uid == $xoops_userid || $query.txt}>
      <tr class="<{cycle values="even,odd"}>">
        <td><{$topic.first_post_uname}></td>
        <td><{$topic.first_post_time_formatted}><img src="<{$mod_imageurl}>/posticon<{$topic.first_post_icon}>.gif" /><{$icon_meanings[$topic.first_post_icon]}></td>
        <td>
          <{if $topic.replies>0}>
            <{$topic.last_post_time_formatted}><img src="<{$mod_imageurl}>/posticon<{$topic.last_post_icon}>.gif" /><{$icon_meanings[$topic.last_post_icon]}>
          <{else}>
            <a href="<{$mod_url}>/index.php?page=reply&post_id=<{$topic.first_post_id}>">退勤</a>
          <{/if}>
        </td>
      </tr>
    <{/if}>
  <{/foreach}>
</table>

d3forum_main_post_form.html
<form name="postform" id="postform" action="<{$mod_url}>/index.php?page=post" method="post">
  <input type="hidden" name="mode" id="mode" value="<{$mode}>" />
  <input type="hidden" name="pid" id="pid" value="<{$pid}>" />
  <input type="hidden" name="post_id" id="post_id" value="<{$post_id}>" />
  <input type="hidden" name="topic_id" id="topic_id" value="<{$topic_id}>" />
  <input type="hidden" name="forum_id" id="forum_id" value="<{$forum.id}>" />
  <input type="hidden" name="external_link_id" id="external_link_id" value="<{$external_link_id|escape}>" />
  <input type="hidden" name="reference_quote" id="reference_quote" value="<{$reference_quote}>" />
  <input type="hidden" name="subject" id="subject" value="<{'Y年n月j日'|date}>_<{'Y/m/d'|date}>_<{'Y/n/j'|date}>_<{$xoops_userid|xoops_user:'name'}>_<{$xoops_uname}>" />
  <input  type="hidden" id='message' name='message' value="tt" />

  <table class="outer">
    <tr valign="top" align="left">
      <td class="head"><label for="message_icon"><{$smarty.const._MD_D3FORUM_MESSAGEICON}></label></td>
      <td class="even">
        <select name="icon" id="message_icon"><{html_options options=$icon_options selected=$icon_selected}></select>
      </td>
    </tr>
  </table>
  <input type="submit" class="formButton" name="contents_submit"  id="contents_submit" value="<{$smarty.const._SUBMIT}>" onclick="return xoopsFormValidate_postform();" />
</form>

xcck でも、同様なフィールドを作ってやれば出来そう。
横に並べるのは、階層型の構造(親子関係)を使えば出来るかも。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016/4/29 10:40
kyd02776  1st Class 居住地: ☆☆  投稿数: 39
■検索画面を作る。【試行錯誤中、とりあえず検索できた】

 テンプレートのxxxx_page_search.htmlをいじって、検索条件項目を表示し、絞り込めるようになった。

----
<form class="form-horizontal" action="index.php" method="GET">
<{assign var="sTimeobj" value=$definitions.sTime}>
<{assign var="jNoobj" value=$definitions.jNo}>

<table class="outer" cellspacing="1">
<tr><td width=30%><{$sTimeobj->get('label')}> [yyyymm]</td><td><{xcck_search_form def=$definitions.sTime option="yyyymm" condition="LIKE" }></td></tr>
<tr><td width=30%><{$jNoobj->get('label')}> [999999]</td><td><{xcck_search_form def=$definitions.jNo condition="=" default=$xoops_uname }></td></tr>
</table>

<input type="submit" value="<{$smarty.const._SUBMIT}>" />
<{xoops_input type="hidden" name="action" value="PageSearch"}>
</form>
----

でも、ちょっとうまく動かないのが、

1)再表示時に検索条件が初期化される。

検索条件のデフォルト値の与え方がたぶんまずいんだと思う。
一度検索した後の再表示時にURLには検索条件が引き継がれているけど、これをどうやって使うべきなのか分からない。
上記のテンプレート部分でdefault値に何をどう指定すれば良いか、誰か分かりませんか?

2)初期表示時に全件が表示される。

検索画面の表示時にデフォルトの検索条件を渡したいのですが、それの作成手順が分かりません。
検索パラメータ付きのURLをどこかの呼出し元ページにべた書きするのもどうかなぁ、と思うし。

だって、「http://xxxx/xxx/modules/xxxx/index.php?sTime%5B0%5D%5B0%5D=201604&sTime%5B0%5D%5B1%5D=2&jNo%5B0%5D%5B0%5D=358610&jNo%5B0%5D%5B1%5D=0&action=PageSearch」などというURLを貼っておきたくないなぁ、と思うですよ。

いっそのこと、初期状態は検索しなくても良いんだけど、そう制御する方が難しいのかも。。

うーーん。

#すみません、すっかり個人的な悩みのブログ化してますね。
投票数:0 平均点:0.00
  条件検索へ

Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities