We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 29228
    • 109 Posts
    親フォルダー以下に2つのフォルダーがあり、そのフォルダー内にドキュメントが存在しています。
    親フォルダーでそれらのフォルダー内にあるドキュメントを、NewsListingでブログのようにサマリー表示しています。
    NewsListingのサマリー表示同様に、親フォルダー下にある全てのドキュメントを取得する良い方法があればご教授ください。

    Parents folder (サマリー表示)&ここでparant folder以下のドキュメントを一括RSS表示したい。
       Sub folder 1(カテゴリー1)
       Document 1
    Sub folder 2(カテゴリー2)
    Document 2
      • 33488
      • 429 Posts
      こんにちは、NewsFeedのスニペットでの動作方法ではないですが、以下のNewsListingをお使いであればこちらで同じ表示は可能です。
      このNewsListingでは関数内で指定のフォルダのすべてを取り出すようなロジックが入っているので、NewsFeedでもこの関数を使う修正をすればできるとは思いますが、NewsListing自体がテンプレート指定などでいろいろできるのでそのまま活用しちゃった方が楽かと思います。

      NewsListingを使う場合は、呼び出し時の指定でformatをrssとして指定するとRSS2.0で出力されます。

      NewsListing:http://modxcms.com/forums/index.php/topic,1235.0.html

      RSS0.91とかであれば、チャンクにテンプレートを作成して呼び出して、前後のヘッダ、フッタとなるところはドキュメントの方に記載する方法でいけるかと・・
      ちなみに、チャンクのテンプレートは 
      <item>
      <title>[+title+]</title>
      <link>[(site_url)][~[+id+]~]</link>
      <description><![CDATA[ [+summary+] ]]></description>
      </item>
      

      な、感じに。
      呼び出し側の本文には、
      <?xml version='1.0' encoding='euc-jp'?>
      <!DOCTYPE rss SYSTEM 'http://my.netscape.com/publish/formats/rss-0.91.dtd'>
      <rss version='0.91'>
      <channel>
      <title>サイトタイトル</title>
      <link>サイトURLl</link>
      <description>概要</description>
      <language>ja-JP</language>
      [!NewsListing?startID=親フォルダID&tpl=テンプレートチャンク名&datetype =pub_date&hidefolders=1&showarch=0&multilevel=1&summarize=10&paginate=0& sortby=pub_date&emptytext=0!]
      </channel>
      </rss>
      


      で、動きました。
      標準RSS2.0を使うときには、htmlentities を呼び出しているタイトル部分が日本語の場合問題になるので呼び出しを外してしまとかの対処が必要です。


        • 29228
        • 109 Posts
        takizさん、モヤっとがスッキリしました! grin
        NewsListingのrssフォーマットは知っていたんですが、デフォルトでrss2.0の出力が出来なかったので諦めていました。
        NewsListing6.3.3でも同様です。
        って言うか、もしかしたらrss2.0もチャンク作って出力するのがデフォ? huh
        とりあえず、これでMODxでのモヤモヤが解消できたんで、やっと本来のテンプレ作成作業が出来るようになりました。
        ありがとうございました!
          • 33488
          • 429 Posts
          Quote from: takumi at Feb 19, 2006, 07:58 AM

          って言うか、もしかしたらrss2.0もチャンク作って出力するのがデフォ? huh
          とりあえず、これでMODxでのモヤモヤが解消できたんで、やっと本来のテンプレ作成作業が出来るようになりました。
          ありがとうございました!
          RSS2.0はちょこっと修正しちゃえばそのままNewsListingでOKかと思います。
          ATOMもできるかなぁ と思ったら日付の部分が足りなかったりしたので、ATOMは専用スニペットをちょこっと修正して使っています。
          カテゴリごとにRSS配信ってなかなか気がつきませんでしたが、よいアイディアですねぇ。

            • 29228
            • 109 Posts
            このトピとは関係ないのですが、Feed関係って事で。 grin
            http://modxcms.com/forums/index.php/topic,1997.0.html
            FURLを使ってるユーザーさんで、aliasの拡張子をxmlとしたい方向けのハックが記載されてます。
            ドキュメントの編集でalias項目に「任意の名前.xml」とするとFURLを使ってFeedを拡張子.xmlとする事が出来ます。
            ちょっと嬉しい小技です。 wink
              • 33488
              • 429 Posts
              Quote from: takumi at Feb 21, 2006, 05:30 PM

              このトピとは関係ないのですが、Feed関係って事で。 grin
              http://modxcms.com/forums/index.php/topic,1997.0.html
              FURLを使ってるユーザーさんで、aliasの拡張子をxmlとしたい方向けのハックが記載されてます。
              ドキュメントの編集でalias項目に「任意の名前.xml」とするとFURLを使ってFeedを拡張子.xmlとする事が出来ます。
              ちょっと嬉しい小技です。 wink
              なるほど、こんな方法があったとは・・。
              rssとか拡張子XMLでやりたかったので、私の小技は・・htaccessを修正して

              RewriteRule ^(.*)\.(html|xml)$ index.php?q=$1 [L,QSA]


              こんな風にやってました。
                • 29228
                • 109 Posts
                Quote from: takiz at Feb 24, 2006, 11:04 AM

                RewriteRule ^(.*)\.(html|xml)$ index.php?q=$1 [L,QSA]
                バージョンアップとか考慮すると、takizさんの方法がスマートで効率いいですよね。 grin
                次のバージョンでどうなるか分かりませんけど、今現在ならtakizさんのmod_rewriteでの処理をお勧めします。
                って事で、早速私も変更! grin
                  • 8382
                  • 253 Posts
                  こんちわ
                  rssやらの拡張子に関しましては、
                  http://modxcms.com/forums/index.php/topic,2450.0.html
                  というリクエストを既に出しております。次のバージョンで実現、とはいかなそうですが
                  いずれ実現するんじゃないかなぁと楽観しております。 wink
                    • 33488
                    • 429 Posts
                    おひさしぶりです、eastbindさん。
                    グットな要望ありがとうございます。
                    いずれ、実現してもらうとうれしいですねぇ
                    それまでは、Rewriteで・・・ これも確実な方法じゃないので、スニペットで[~Id~]でリンクアドレス書いちゃうと.htmlとかついちゃうので
                    要注意です。
                    私は、RSSとATOMで直接URLアドレスを書いて使ってます。(そーいえば)
                      • 33488
                      • 429 Posts
                      コメントの方にあっちにと書いたですが、元々がNewsFeedでしたねぇ  undecided

                      結局NewsListingの話になっているので、RSS2.0の機能を使う場合の日本語での修正点を挙げておきます。

                      		if($format == "rss") {
                      		$placeholders['[+rsspagetitle+]'] =  htmlentities($resource[$x]['pagetitle'],ENT_NOQUOTES,"EUC-JP");
                      		$placeholders['[+rssdate+]'] =  date("r", $resource[$x][$datetype]);
                      		$placeholders['[+rssusername+]'] =  htmlentities($author,ENT_NOQUOTES,"EUC-JP");
                      		}
                      

                      修正箇所は、上記の通りで、EUC-JPベタに書いちゃってますが、$modx->config[’etomite_charset’] に変更すれば、文字コードに依存しない修正になるはずです。(多分)

                      ちなみに、この修正でのサンプルとして http://feeds.oh.land.to/rss2.html でご覧頂けます。

                      面倒な場合は、htmlentitiesを使わずにそのまま$resourceや$authorを代入してもOKなはずです。

                      ということで、文字化けというか日本語で表示されなかった方はこれで解消するかと思います。