【MovableType.net】システムオブジェクト「メンバー」として作ったカスタムフィールドが使えなかった話

結果としてはMovableType.netのサポートに連絡して教えてもらって解決したのですが、今回躓いた部分をブログのネタにしちゃいました。以下経緯的なやつ。

今回カスタムフィールドにおける「メンバー」というシステムオブジェクトを今回使用してみましたのよ。

これは何かっていいますと、メンバー情報としてカスタムフィールドを登録しておくことで「だれだれさんが書きました」的な表示をする際等にメンバー情報を追加することが出来るのです。

鷹Pのプロフィールのふざけたテキストもその機能を利用して出力されているのです。

公式ブログとか見てると

      <mt:if tag="CustomFieldValue" identifier="member_twitter">
        <li>
          <a href="<mt:CustomFieldValue identifier="member_twitter">" target="_blank"><i class="fa fa-twitter" aria-hidden="true"></i></a>
        </li>
      </mt:if>

ってな感じで書かれていた(https://movabletype.net/blog/2018/08/member-cf.html)のでそのままカスタムフィールド名だけ変更して実装してみたのです。

記事テンプレでは見事表示されたのですが「投稿者別記事リスト」では表示されないやないですかああああああ

というわけで色々試してみました。mt:ifの囲みを外したら思いっきりエラー出たり、長い道のりでした。

結局解決できなかったのでフォームからサポートさんに聞いてみました。

するとお返事がきました。

「投稿者」アーカイブにシステムオブジェクト「メンバー」のカスタムフィールドを使用する場合は、MTAuthorsタグ に display_nameモディファイア を使い、メンバーページごとにメンバーを指定するようにしてください。

ほおおおおおおおお、そうなのですか!

オンラインマニュアルのURL(https://movabletype.net/tags/2007/08/authors.html)も送っていただき、さっそくやってみました。具体的には

    <mt:SetVarBlock name="変数名"><$mt:AuthorDisplayName escape='html'$></mt:SetVarBlock>
    <mt:Authors need_entry="0" roles="Author" display_name="$変数名">
      <mt:if tag="CustomFieldValue" identifier="cf_members_prof">
        <mt:customfieldvalue identifier="cf_members_prof" convert_breaks="1">
      </mt:if> 
    </mt:Authors>

こんな感じです。ふむふむ・・・良い感じに出力されたではありませんか!

というわけで解決にいたりました、サポートさんいつも謎な質問してごめんなさい、ありがとうございます

今日も良い天気です。

前へ

みなさんはどのエディタがお好き?

次へ

html初心者講座 その1『floatってなんじゃろね』