質問箱/5003

カテゴリサイト管理・運営
サマリtracker の checkbox で画像表示したい
バージョン1.4.7_notb_utf8
投稿者けんじ
状態完了
投稿日2010-08-18 (水) 21:28:57

質問

したい事
tracker で使用できる項目形式に「 checkbox 」というチェックボックス項目形式がありますが、
こちらの checkbox を使用時に tracker の from 内で 画像ファイルを ref プラグインで表示したいのですが、 どうやれば良いでしょう?

現在私が使用している設定・方法だと、 from 内のチェックボックス右側に表示される checkbox の見出し(見本)が以下のように出力されます。
<label for="_p_tracker_checkbox_11_3">&amp;ref(http://pukiwiki.sourceforge.jp/image/rss.png);</label>
これを以下のようにしたいです。
<label for="_p_tracker_checkbox_11_3"><img src="http://pukiwiki.sourceforge.jp/image/rss.png" /></label>
もしくは以下(IE だとどちらにしても画像クリック時にチェックはつかないので)、
<img src="http://pukiwiki.sourceforge.jp/image/rss.png" />
試してみた事(1)
plugin/tracker.inc.php を改造し、
  • input の「 label 」 を表示しないようにする (514行目付近)
    -'[]" id="' . $s_id . '" value="' . $s_option . '"' . $checked . ' />' .
    -'<label for="' . $s_id . '">' . $s_option . '</label>' . "\n";
    +'[]" id="' . $s_id . '" value="' . $s_option . '"' . $checked . ' />' . "\n";
  • from 内の [checkbox] 右側に直接 ref プラグインで見本画像を配置
    |~チェック1   |[checkbox1] &ref(http://pukiwiki.sourceforge.jp/image/rss.png);|
    |~チェック2   |[checkbox2] &ref(http://pukiwiki.sourceforge.jp/image/xml.png);|
    しかし、これだと [checkbox] 一つに付き一つの画像しか選べられません。 また、page 内の [checkbox] 項目が指定個所に限定されてしまうので、空欄となってしまいます。 画像が数個であればよいのですが、10個以上選択できるようにしたいので、同一の指定個所から全ての画像を 拾い上げてくれるような動作が良かったのでダメでした。
試してみた事(2)
  • plugin/tracker.inc.php の 508行目付近。
     $s_option = htmlspecialchars($option[0]);
    +$s_label = convert_html($option[0]);
     $checked = array_key_exists(trim($option[0]),$defaults) ?
     	' checked="checked"' : '';
     ++$id;
     $s_id = '_p_tracker_' . $s_name . '_' . $this->id . '_' . $id;
     $retval .= '<input type="checkbox" name="' . $s_name .
     	'[]" id="' . $s_id . '" value="' . $s_option . '"' . $checked . ' />' .
    -	'<label for="' . $s_id . '">' . $s_option . '</label>' . "\n";
    +	'<label for="' . $s_id . '">' . $s_label . '</label>' . "\n";
    しかし、convert_html だと <p> で出力されるので改行になる。適当な関数を探してます。
    <label for="_p_tracker_checkbox_11_3"><p> [実際は改行なし]
    <img src="http://pukiwiki.sourceforge.jp/image/rss.png" /></p></label>
現在の設定(「したい事」の設定です)
  • :config/plugin/tracker/hoge
    * fields
    |項目名  |見出し    |タイプ  |オプション|デフォルト|h
    |Proposer    |投稿者    |format  |          |          |
    |checkbox|チェック  |checkbox|          |          |
    * Proposer
    |条件|セルの書式|文字書式|h
    |IS NOT NULL|%s|[[%s]]|
    |NULL|%s|[[名無しさん]]| //正しく動作させるには IS NULL と書く
    * checkbox
    |見出し|セルの書式|h
    |&ref(http://pukiwiki.sourceforge.jp/image/rss.png);|%s|
    |&ref(http://pukiwiki.sourceforge.jp/image/xml.png);|%s|
    //|rss.png|&ref(http://pukiwiki.sourceforge.jp/image/%s);| でも複数拾い上げてくれない
  • :config/plugin/tracker/hoge/form
    |RIGHT:     |LEFT:     |c
    |~投稿者     |[Proposer]|
    |~チェック   |[checkbox]|
    |>|CENTER:[_submit]     |
  • :config/plugin/tracker/hoge/list
    |~[_page]   |~[Proposer]|~[checkbox]|h
    |[_page]    |[Proposer] |[checkbox] |
    //|~[_page]   |~[Proposer]|~[checkbox1]|h 「試してみた事(2)」の場合
    //|[_page]    |[Proposer] |[checkbox1][checkbox2] | 「試してみた事(2)」の場合
  • :config/plugin/tracker/hoge/page
    -投稿者:     [Proposer]
    -チェック:   [checkbox]
    //-チェック1:   [checkbox1] 「試してみた事(2)」の場合
    //-チェック2:   [checkbox2] 「試してみた事(2)」の場合
ついでに
今回 format 項目形式についても設定内容として記載したのですが、format が NULL の場合空のまま出力されます。
過去に tracker プラグイン作成者の ぱんださんのサイトに同様の質問と解決がありました(tracker.inc.php/25 - しろくろのへや)。
こちらは他の方でも発生してますか?であれば BugTrack に
  • 2010/08/19 追記:
    config に NULL と記載していたので出力されませんでした。正しく出力するには IS NULLと条件列に書く必要があります。

回答


*1 フォームの中にフォームが存在する、など

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-11-23 (木) 19:14:24
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.381 sec.

SourceForge