mayona

カンマ区切りの文字列を配列に

0

CFにエントリーIDをカンマ区切りで入れ、それを元にそのIDに紐付く記事をリストして表示したいです。
(表題でうまく意図が表現できているかちょっと自信がありません)

あるCFの値=1,2,10,41
エントリ=IDに「1,2,10,41」の記事をそれぞれリストする

調べると小粋空間さまのsplitプラグインというものがあり、それらしい事ができそうです(未確認)が、この処理は
通常のタグではできないor処理が遅いという事でしょうか。
カンマ区切りで一つずつ取得して、MTEntries等ループ系タグの条件指定で特定のCFの値を振り一つずつ表示
といった事がうまい事できないものか調べています。

どうぞよろしくお願いします。

返信(6)

| 返信する
  • >mayonaさん
    こんにちは。

    まったく違う手法ですが、拙作のRelatedEntriesというプラグインを使えば、同等の結果を得ることができます。
    個々のブログ記事に、関連する他のブログ記事を紐づけるプラグインです。

    http://www.h-fj.com/blog/archives/2007/08/03-092701.php

    ただし、このプラグインはMT4用です。
    MT5だと、一応動作はしますが、紐付の画面のデザインが崩れます。

    また、拙作のSearchEntriesプラグインで、記事のIDを元に記事を検索するという方法もあります。

  • 壱さま
    ご丁寧な回答をいただきありがとうございます。
    やりたい事の背景もお察しいただき感謝です。
    ご提示いただいたプラグイン、とても有用で以前からお世話になっております。
    今回はその簡易版をCFとMTMLレベルでできないものか思案しています。
    (※IDを直に入れるという意味で簡易版と表現しています)

    >SearchEntriesプラグイン
    こちらは超高機能なので、裏でどんな処理をされているか想像もつかないのですが、
    MTEntriesはIDを指定して出力できるので、この条件指定が流用できれば
    「検索」といった処理よりは比較的早いのかなと(素人考えですが)思っています。

    上記のような配列?の処理ができれば、エントリーに限らずカテゴリも複数指定できたり、
    記述的にいろいろ用途が広がりそうな感じなのですが、実際書くとなると思いの他そういった処理が見当たりません。

    仮に配列?のような処理でいけたとしても、いわゆる「検索」しているのと変わらないかもしれませんが、
    標準MTMLでは無理という判断をした上でplのお力を拝借しようと考えております。
    現行のMTMLでは厳しいor難しいという認識で正しいでしょうか。

    • >mayonaさん
      ブログ記事だけなら、splitプラグインでIDを配列に入れて、MTEntriesタグのidモディファイアで順に出力する、という手法を取ることができます。
      ただ、idモディファイアがない他のオブジェクトでは、この手法を使うことはできません。

      また、配列+idモディファイアだと、オブジェクトを1回出力するごとにSQLを発行する形になるので、効率が良くないです。
      試してはいませんが、おそらくはSearchEntriesプラグインの方が高速に処理できると思います。

  • アドバイスありがとうございます!
    splitプラグインで行なっている配列化はMTMLでは不可能という事ですね。
    もっと複雑な処理ができるMTMLな印象がありましたので、MTMLマスターみたいな方ならできてしまうのかなと思いましたが、ちょっと意外でした。
    そもそも無理だからplを作られているはずですし、ちょっとMTMLに過剰な期待をしてしましました。

    >ただ、idモディファイアがない他のオブジェクトでは、この手法を使うことはできません。
    確かにそうですね。

    plを経由しないという希望は叶わなかったものの、お陰様で複数の記事表示に関してはできました。

  • >mayonaさん
    配列化はSplitプラグイン+MTMLでも可能です。
    一応エントリーしましたのでご確認ください。
    http://www.koikikukan.com/archives/2011/09/28-015555.php

  • yujiroさま
    ありがとうございます!
    記事拝見しました。
    私が書いたものとほぼいっしょで安心しました。
    この処理ができるplは壱さまとyujiroさまのところでしか見当たらないので、とても貴重です。。

    今回はできればplを経由せずにできないか
    という観点でお尋ねしていましたが、やはり厳しいという事が理解できました。
    今後はこういった処理も標準タグでできるようになるといいですね。

返信する


カテゴリグループ

OpenID対応しています OpenIDについて