新着記事を一件ずつ表示させるには  【解決済み】

質問全般・改善要望
返信する
nakahi
メンバー
メンバー
記事: 131
登録日時: 2010年8月04日(水) 20:23

新着記事を一件ずつ表示させるには

投稿記事 by nakahi »

-----
ご利用のサーバ:エックスサーバー
MODXのバージョン:1.0.8J
PHPのバージョン:5.3.3
MySQLのバージョン:5.0.95
ブラウザ:FF19.0.2
-----

いつも大変お世話になっています。
今回もよろしくお願い致します。

新着記事を5件、一つのブロック(例えば<div class="a">Aブロック</div>)で、
Aブロックに表示させるには
[!Ditto? &id=`news` &sortDir=`DESC` &parents=`[*2*]` &depth=`3` &display=`5` &showInMenuOnly=`1` &hideFolders=`1` &tpl=`記事新着`!]
こんな記述で出来るのは以前の質問で教えて頂き、利用させて頂いております。

今回の質問は、この新着記事5件を、5ブロックに分けて順番に1件ずつ表示させるには
どのようにすれば宜しいのでしょうか。

<div class="a">Aブロック</div>に新着記事を降順で最新の記事1件だけを表示させる。
次に<div class="b">Bブロック</div>に記事の降順で2番めの記事を1件だけ表示させる。
次は<div class="c">Cブロック</div>に記事の降順で3番めの記事を1件だけ表示させる。
以下同様にして
最後は<div class="e">Eブロック</div>に記事の降順で5番めの記事を1件だけ表示させる。

お騒がせいたしますが、ご教授のほど宜しくお願い致します。
アバター
min-o
メンバー
メンバー
記事: 318
登録日時: 2009年10月07日(水) 18:32

Re: 新着記事を一件ずつ表示させるには

投稿記事 by min-o »

テンプレートが増えますが…

&tplFirst=`記事新着A` <div class="a">Aブロック</div>
&tpl=`記事新着B` <div class="b">Bブロック</div>
&tplAlt=`記事新着C` <div class="c">Cブロック</div>
&tplLast=`記事新着D` <div class="d">Dブロック</div>

として
[!Ditto? &id=`news` &sortDir=`DESC` &parents=`[*2*]` &depth=`3` &display=`4` &showInMenuOnly=`1` &hideFolders=`1` &tplFirst=`記事新着A` &tpl=`記事新着B` ~~
4件を表示

もう一度Dittoコールで、頭から4件をスキップして、5件目ひとつを表示
[!Ditto? &id=`newsE` &sortDir=`DESC` &parents=`[*2*]` &depth=`3` &display=`1` &start=`4` &showInMenuOnly=`1` &hideFolders=`1` &tpl=`記事新着E`!]

で、できると思います。

phxをつかってもっとスマートにできる方法がありそうですけど…^^;
---------
おのうちみん
http://scifitique.org/
http://gender-sf.org/
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 新着記事を一件ずつ表示させるには

投稿記事 by yama »

[[Ditto?
&id=`news0`
&start=`0`
&sortDir=`DESC`
&parents=`2`
&depth=`3`
&display=`1`
&showInMenuOnly=`1`
&hideFolders=`1`
&tpl=`記事新着`
]]

[[Ditto?
&id=`news1`
&start=`1`
&sortDir=`DESC`
&parents=`2`
&depth=`3`
&display=`1`
&showInMenuOnly=`1`
&hideFolders=`1`
&tpl=`記事新着`
]]

[[Ditto?
&id=`news2`
&start=`2`
&sortDir=`DESC`
&parents=`2`
&depth=`3`
&display=`1`
&showInMenuOnly=`1`
&hideFolders=`1`
&tpl=`記事新着`
]]

[[Ditto?
&id=`news3`
&start=`3`
&sortDir=`DESC`
&parents=`2`
&depth=`3`
&display=`1`
&showInMenuOnly=`1`
&hideFolders=`1`
&tpl=`記事新着`
]]

[[Ditto?
&id=`news4`
&start=`4`
&sortDir=`DESC`
&parents=`2`
&depth=`3`
&display=`1`
&showInMenuOnly=`1`
&hideFolders=`1`
&tpl=`記事新着`
]]

単純ですがこんな書き方もアリかも
nakahi
メンバー
メンバー
記事: 131
登録日時: 2010年8月04日(水) 20:23

Re: 新着記事を一件ずつ表示させるには  【解決済み】

投稿記事 by nakahi »

min-oさん、ご親切に有難うございました。

&start=で、始まる記事を表示させてやればよいのですね!
良く分かりました!
難点はテンプレートが増えると言う事でしょうか。

yamaさん、いつもご丁寧に有難うございます。
テンプレートを増やすことなく望みどおりに出来上がっています!

&start=で指定して、振り分ける順番で表示できるのが肝ですね。
これで他の場面でも応用できそうです。

お忙しい中、min-oさんも、yamaさんも本当に有難うございました。
今回は、テンプレートを増やさないで出来るyamaさんのご提案を利用させて頂きます。
かなり初歩的な質問だったようで、いつもながらお恥ずかしい限りです。

今後共宜しくお願い致します。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 新着記事を一件ずつ表示させるには

投稿記事 by yama »

(参考)
http://modx.jp/
公式サイトトップページの新着一覧は、同じ手法で最初の2件をイメージ画像付きのテンプレート、残りの8件をタイトルのみのシンプルなテンプレートで出し分けています。
nakahi
メンバー
メンバー
記事: 131
登録日時: 2010年8月04日(水) 20:23

Re: 新着記事を一件ずつ表示させるには

投稿記事 by nakahi »

yamaさん、いつも有難うございます。
yama さんが書きました:(参考)
http://modx.jp/
公式サイトトップページの新着一覧は、同じ手法で最初の2件をイメージ画像付きのテンプレート、残りの8件をタイトルのみのシンプルなテンプレートで出し分けています。
そうですか!
こういった使い方が出来るんですね!
かなり応用できそうです、有難うございます。

今回の質問の目的は、レスポンシブで、一つのブロックに新着記事を画像付きで表示していると、
PCは良いのですが、スマホサイズになるとかなり乱れてしまうので、1つずつブロックに分けたうえで、
ブロックをグリッドに配置すれば、上手く収まりそうでお聞きしました。

目立たせたい記事を画像付きで、後の少し経った記事はテキストだけで知らせる方法は、
PCだけのサイトでも公式サイトの新着記事のような表示は良いですね。
参考にさせて頂きます。
返信する