ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Opened 11 years ago

Last modified 11 years ago

#2874 new enhancement

ニックネームなどが「0」のみだと、表示される部分に表示されない場合がある

Reported by: kiwa Owned by: nobody
Priority: minor Milestone:
Component: 指定しない Version: 2.12.x & 2.14.x
Keywords: Cc:

Description (last modified by ebihara)

■現象

ニックネームなどが「0」のみの場合、表示されるべき部分に表示されなくなる箇所がある。

■原因

原因1

テンプレート上で、文字列型の 0 を考慮していない条件分岐が存在しており、ニックネームなどが 0 となっている場合に存在しないものと判断してしまっていた。

原因2

Smarty の t_truncate 修飾子が文字列型の 0 を考慮しておらず、文字列整形処理(文字列を省略する)において、文字列型の 0 のみとなっている行以降の文字すべてを省略してしまっていた。そのため、0のみの文字列に対して t_truncate 修飾子を適用してしまうと、空文字列に変換されてしまっていた。

※これは t_truncate を用いているすべての箇所にて発生する

■修正内容

原因1に対する修正

ニックネームなどが空文字列であるかどうかを確実にチェックするように修正し、 0 などのニックネームが意図せず表示されないことがないようにした。

以下のテンプレートを修正した。

  • webapp/modules/ktai/templates/fh_diary_delete_c_diary_comment_confirm.tpl
  • webapp/templates/mail/m_ktai_message_zyushin.tpl
  • webapp/modules/pc/templates/fh_diary.tpl
  • webapp/modules/ktai/templates/c_bbs.tpl
  • webapp/modules/ktai/templates/c_bbs_delete_c_commu_topic_comment_confirm.tpl
  • webapp/modules/ktai/templates/fh_diary.tpl
  • webapp/modules/ktai/templates/h_ashiato.tpl
  • webapp/modules/pc/templates/fh_comment_list.tpl

原因2に対する修正

t_truncate 修飾子により文字列を整形した結果、空文字列となっている行以降の文字のみを確実に省略するように修正した。

これにより、 0 のみとなっている文字列に対して t_truncate をおこなった場合に、その文字列が表示されないということがないようにした。

■関連情報

  • #2905 「0」と入力すると空欄扱いになるフォームが多くある

Attachments (1)

2874_webapp_modules_pc.txt (9.5 KB) - added by ogawa 11 years ago.

Download all attachments as: .zip

Change History (26)

comment:1 Changed 11 years ago by kiwa

Keywords: 再現待ち removed
Summary: ニックネームが「0」だと、日記コメントのニックネーム表示部分に名前が表示されないニックネームなどが「0」のみだと、表示される部分に表示されない場合がある

再現できました

version

  • 2.10.8
  • 2.12.2

内容

ニックネームや入力された値が「0」のみの場合、表示される部分で表示されない場合がある。

発生するモジュール

手作業で見つけた限りでは以下です。

  • pc
  • ktai

※admin,portalでは発見できず

【pc】

  • 日記詳細(pc_page_fh_diary)コメントのメンバー名
  • 最近のコメント一覧(pc_page_fh_comment_list)

【ktai】

  • 日記詳細(ktai_page_fh_diary)コメントのメンバー名
  • あしあと(ktai_page_h_ashiato)メンバー名
  • 最新日記(ktai_page_h_diary_list_all)日記タイトル,メンバー名

comment:2 Changed 11 years ago by kiwa

Description: modified (diff)

comment:3 Changed 11 years ago by mori

Owner: changed from nobody to mori
Status: newassigned

担当します。

comment:4 Changed 11 years ago by mori

Keywords: OpenPNE2.10.12 OpenPNE2.13.4 added
Milestone: OpenPNE2.12.6

comment:5 Changed 11 years ago by mori

Description: modified (diff)

comment:6 Changed 11 years ago by mori

Keywords: 確認中 added

以下のリビジョンを修正しました。

comment:7 Changed 11 years ago by kiwa

Keywords: 差し戻し added; 確認中 removed

Descriptionについての指摘です。下記の修正をお願いします。

  1. 「■発生バージョン」「■環境」は削除して構いません
  2. ■修正内容について、ユーザ側から見てどのような対応になったのかも記載してほしいです
    • 例: #2910 「絞込みをすると1ページ目に移動するように修正。」

※ 今回#2910を例に挙げてますが、条件を満たしたものを適当に選んだだけなので「これが最良例」というわけではありません

comment:8 Changed 11 years ago by mori

Description: modified (diff)
Keywords: 確認中 added; 差し戻し removed

comment:9 Changed 11 years ago by ebihara

Keywords: 差し戻し added; 確認中 removed

たとえば以下の部分についても修正の必要があるのではないでしょうか?

  • webapp/modules/ktai/templates/c_bbs.tpl
    96:({if $item.nickname})<a href="({t_url m=ktai a=page_f_home})&amp;target_c_member_id=({$item.c_member_id})&amp;({$tail})">({$item.nickname})</a>({/if})
    
  • webapp/modules/ktai/templates/c_bbs_delete_c_commu_topic_comment_confirm.tpl
    15:({if $c_commu_topic_comment.nickname})<a href="({t_url m=ktai a=page_f_home})&amp;target_c_member_id=({$c_commu_topic_comment.c_member_id})&amp;({$tail})">({$c_commu_topic_comment.nickname})</a>({/if})
    
  • webapp/modules/ktai/templates/fh_diary.tpl
    14:({if $target_c_diary_comment.nickname})<a href="({t_url m=ktai a=page_f_home})&amp;target_c_member_id=({$target_c_diary_comment.c_member_id})&amp;({$tail})">({$target_c_diary_comment.nickname})</a>({/if})
    
  • webapp/modules/ktai/templates/h_ashiato.tpl
    16:({if $item.nickname})
    
  • webapp/modules/pc/templates/fh_comment_list.tpl
    21:<dd><a href="({t_url m=pc a=page_fh_diary})&amp;target_c_diary_id=({$new_comment.c_diary_id})">({$new_comment.body|t_truncate:"36"})</a> ({if $new_comment.nickname})(({$new_comment.nickname}))({/if})</dd>
    
  • webapp/modules/pc/templates/fh_diary.tpl
    182:<p class="heading"><strong>({$item.number})</strong>:({if $item.nickname}) <a href="({t_url m=pc a=page_f_home})&amp;target_c_member_id=({$item.c_member_id})">({$item.nickname})</a>({/if})({if $type == 'f' && $item.c_member_id == $member.c_member_id}) <a href="({t_url m=pc a=page_fh_delete_comment})&amp;target_c_diary_id=({$target_diary.c_diary_id})&amp;target_c_diary_comment_id=({$item.c_diary_comment_id})">削除</a>({/if})</p>
    

comment:10 Changed 11 years ago by mori

Description: modified (diff)

comment:11 Changed 11 years ago by mori

Keywords: 確認中 added; 差し戻し removed

以下のリビジョンを修正しました。

comment:12 Changed 11 years ago by ebihara

Keywords: 差し戻し added; 確認中 removed

対応箇所が不足しています(comment:9 で示したのはあくまで例であり、これがすべてであるということではありません)。以下に対しても修正の必要があるように思います。

  • webapp/modules/ktai/templates/fh_diary_delete_c_diary_comment_confirm.tpl
    14:({if $target_c_diary_comment.nickname})<a href="({t_url m=ktai a=page_f_home})&amp;target_c_member_id=({$target_c_diary_comment.c_member_id})&amp;({$tail})">({$target_c_diary_comment.nickname})</a>({/if})
    
  • webapp/templates/mail/m_ktai_message_zyushin.tpl
    13:({if $body})
    
  • webapp/templates/mail/m_ktai_message_zyushin.tpl
    webapp/templates/mail/m_ktai_message_zyushin.tpl
    8:({if $subject})
    

また、わざわざ型チェックをおこなってまで if 文を使わなければいけない理由があまり感じられませんでした。 if 文による値チェックを外してしまい、値が空であっても表示させるようにすればよいのではないでしょうか。

comment:13 Changed 11 years ago by ebihara

Owner: changed from mori to nobody
Status: assignednew

comment:14 Changed 11 years ago by ebihara

Owner: changed from nobody to ebihara
Status: newassigned

修正に関しては海老原が引き受けます。修正後、 mori さんに再度アサインします。

comment:15 Changed 11 years ago by ebihara

Description: modified (diff)
Keywords: 確認中 added; 差し戻し removed

以下のリビジョンで修正しました。

comment:12 にて if 文を外すことも検討していましたが、「退会者のニックネームがリンクにならないようにする」というような意図がどうもあるみたいなので(対応が中途半端なのと、メンバーの存在を確認する目的でニックネームが空かどうかのチェックをおこなうのはどうなんだ、とは思いますが)、とりあえず今回はこのままとします。

comment:16 Changed 11 years ago by ebihara

Owner: changed from ebihara to mori
Status: assignednew

comment:17 Changed 11 years ago by kiwa

Keywords: 差し戻し added; 確認中 removed

再検証をお願いします。

携帯版のみ手作業での確認ですが、

  • フレンド最新日記(ktai_page_h_diary_list_friend)
  • メッセージ一覧(ktai_page_h_message_box)
  • メンバー検索(ktai_page_h_friend_find_all)
  • 最新日記(ktai_page_h_diary_list_all)
  • フレンドホーム(ktai_page_f_home)
    • フレンドリスト
  • 日記コメント記入履歴(ktai_page_h_diary_comment_list)
  • マイホーム(ktai_page_h_home)

などのページでニックネームが表示されない現象が発生しました。

また、メッセージボックス(ktai_page_h_message_box)ではメッセージの件名、コミュニティ検索ではコミュニティ名が0の場合に表示されません。

comment:18 Changed 11 years ago by ebihara

Owner: changed from mori to ebihara
Status: newassigned

comment:19 Changed 11 years ago by ebihara

Description: modified (diff)
Keywords: 確認中 added; 差し戻し removed

comment:18 で挙げられている現象は、すべて comment:1 で再現がおこなわれ修正されたものとは原因を異にしており、t_truncate修飾子で文字列型の0を想定していない箇所があるというものでした(Description に追記しておきました)。

以下のリビジョンで修正しました。

comment:20 Changed 11 years ago by ebihara

Description: modified (diff)

Changed 11 years ago by ogawa

Attachment: 2874_webapp_modules_pc.txt added

comment:21 Changed 11 years ago by ogawa

Keywords: 差し戻し added; 確認中 removed

webapp/modules/pc 以下のみチェックしましたが、修正の必要がありそうな箇所が見つかりました。結果をチケットに添付してあります。

attachment:ticket:2874:2874_webapp_modules_pc.txt

comment:22 Changed 11 years ago by ebihara

修正するべき箇所が多く、リリースまでに間に合わないことや、早急に修正するべき点であるとはいえないため、今回のリリース項目からは外します(修正は取り消します)。

comment:23 Changed 11 years ago by ebihara

Keywords: OpenPNE2.10.12 OpenPNE2.13.4 差し戻し removed
Milestone: OpenPNE2.12.6
Type: defectenhancement

以下のリビジョンで見送りました。なお、このチケットについては修正による影響を鑑み、開発版のみの対応とします。

comment:24 Changed 11 years ago by ebihara

Owner: changed from ebihara to nobody
Status: assignednew

comment:25 Changed 11 years ago by ebihara

Version: 2.10.x & 2.12.x & 2.13.x2.12.x & 2.13.x
Note: See TracTickets for help on using tickets.