スタティック MTContents タグの field:???="???" と sort_by="field:???" で、名前を指定した場合の取得値が正しくない場合がある
Description
Environment
Checklists
Attachments
relates to
Activity
Masahiro IuchiOctober 2, 2018 at 3:16 AM
了解です。引き取ります。

Kenichi IshigakiOctober 2, 2018 at 3:15 AM
こちらはまだ手をつけていません。extlib/Data/ObjectDriver/Driver/DBI.pm の160行目で$sthの取得に失敗したら適切な$dbh->errstrを吐くようにすれば実際に何が問題だったのか確認できるとおもいます。Oracle環境は手元にないので巻き取っていただけるなら助かります。
Masahiro IuchiOctober 1, 2018 at 8:33 AM
これ、手持ち作業がないので引き取ろうと思うのですが、どの辺までやってますでしょうか。

Chieko MatsuoSeptember 27, 2018 at 11:20 PM
1のほう、なぜかさきほどやり直したら期待通りに動きました。2の方の動作についてだけ、お願いします。
Masahiro IuchiSeptember 27, 2018 at 5:36 PM
2. は Oracle で再現できたんですが、1. が再現できませんでした。(手元では blog_id 指定で他サイトのコンテンツデータを取得できています)
サイトのエクスポートデータなどをいただけますでしょうか。

Chieko MatsuoSeptember 27, 2018 at 7:32 AM
以下の点について以外は問題なさそうです。
確認になりますが:
1. 上記のテンプレート例の2つ目、別のサイトの同名コンテンツタイプを利用するような使い方はできない様(値を表示できない)なのですが、これは仕様ということになりますか?
2. 上記の3つ目や4つ目のテンプレートのように、Multiline フィールドでソートを行った場合、エラー( Can't call method "execute" on an undefined value at /home/vagrant/html/cgi-bin/mt71/extlib/Data/ObjectDriver/Driver/DBI.pm line 161.)が表示されるのですが、フィールドの種類によってソートとして利用できないなどの制限はありますでしょうか?

Kenichi IshigakiSeptember 26, 2018 at 8:26 AM
上の変更をマージしました。ご確認おねがいします。
QA手順としては、複数の(必須入力ではない)フィールドをもつコンテンツタイプを作成後、複数のコンテンツデータを用意して、ひとつまたは複数のfieldフィールド名)を指定したときにコンテンツデータの絞り込みが行えるか、またsort_byフィールド名)を指定したときにデータのソートが行えるか(fieldで指定したフィールドとsort_byで指定したフィールドが異なる場合にsort_byのフィールドが空のコンテンツデータが消えていないか)、別ブログの同名コンテンツタイプや、同一ブログの別コンテンツタイプに属する同名のコンテンツフィールドのデータが混じってこないかをご確認おねがいします(機械的には以下のようなテンプレートで確認しています)。
Masahiro IuchiSeptember 23, 2018 at 2:59 AM
良さそうです。マージして QA アサインお願いいたします。

Kenichi IshigakiSeptember 21, 2018 at 2:56 AM
https://github.com/movabletype/movabletype/pull/559 で対応しました。ご確認おねがいします。
Masahiro IuchiSeptember 14, 2018 at 6:47 AM
でマルチブログ機能を一旦削除する。
下記では $content_type_id が1つ定まることになる。
https://github.com/movabletype/movabletype/blob/ad51cd057f8c40e8deddf3e60d04bc8eb857c2e9/lib/MT/Template/Tags/ContentType.pm#L67-L70
Masahiro IuchiAugust 17, 2018 at 6:28 AM
これ、お願いします。
見積もりもお願いします。
Details
Assignee
Masahiro IuchiMasahiro IuchiReporter
Masahiro IuchiMasahiro IuchiFix versions
Time tracking
1w 3d 4h 30m loggedPriority
3. Should be
Details
Details
Assignee
Reporter
Fix versions
Time tracking
Priority
Smart Checklist
Open Smart Checklist
Smart Checklist
Open Smart Checklist
Smart Checklist

で発見。
https://movabletype.atlassian.net/browse/MTC-25829?focusedCommentId=367985&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-367985
同名の content field がある場合、正しく取得できない。
cf_id 昇順のソートが常にかかるので、一番最初に作成したものを取得してしまう。
https://github.com/movabletype/movabletype/blob/74187bb50f531ec0f0ada045c348918dd5d0f383/lib/MT/Template/Tags/ContentType.pm#L343
https://github.com/movabletype/movabletype/blob/74187bb50f531ec0f0ada045c348918dd5d0f383/lib/MT/Template/Tags/ContentType.pm#L399
MTContentCalendar タグにもある。まだありそう。
https://github.com/movabletype/movabletype/blob/74187bb50f531ec0f0ada045c348918dd5d0f383/lib/MT/Template/Tags/ContentType.pm#L1548
スタティック・ダイナミックどちらの挙動も見直す必要があると思う。