ニュース一覧ページを開いたら、リストではなく、常に一番最新のニュースのページが開くには? 【解決済み】
ニュース一覧ページを開いたら、リストではなく、常に一番最新のニュースのページが開くには? 【解決済み】
-----
ご利用のサーバ:CPI ZZプラン、ACEプラン
Webサーバのバージョン :?
PHPのバージョン :?
データベースのバージョン :?
MODXのバージョン : Evolution 1.0.5J-r7、r5
ブラウザ :Firefox 8
-----
※伝えやすいためにニュースと書きましたが、厳密に言うと、ほぼニュース機能と同じ機能の、
「イベント」という別のカテゴリについておこないたいのですが、理解されやすいのでニュース機能として説明いたします。
ニュース投稿の自動化ですが、
トップページに、最新中の最新10件のニュースタイトル・リンクを表示させております。
そして、トップ最新を含むニュース履歴のリストを、ニュース一覧というページを作って別のページで存在させています。
この、「ニュース一覧ページ」の見え方を変えたいです。
このニュース一覧ページを開いたら、ニュースの一覧が表示されるのではなく、常に一番最新のニュース記事を書いたページが開くには
どうしたらいいでしょうか?
ニュースの一覧はコンパクトにして左サイドメニューに設置します。
最新のニュース記事を書いたページはニュースを投稿していくたびに変わっていくので、どうしたらいいものか・・・
何卒宜しくお願いします。
ご利用のサーバ:CPI ZZプラン、ACEプラン
Webサーバのバージョン :?
PHPのバージョン :?
データベースのバージョン :?
MODXのバージョン : Evolution 1.0.5J-r7、r5
ブラウザ :Firefox 8
-----
※伝えやすいためにニュースと書きましたが、厳密に言うと、ほぼニュース機能と同じ機能の、
「イベント」という別のカテゴリについておこないたいのですが、理解されやすいのでニュース機能として説明いたします。
ニュース投稿の自動化ですが、
トップページに、最新中の最新10件のニュースタイトル・リンクを表示させております。
そして、トップ最新を含むニュース履歴のリストを、ニュース一覧というページを作って別のページで存在させています。
この、「ニュース一覧ページ」の見え方を変えたいです。
このニュース一覧ページを開いたら、ニュースの一覧が表示されるのではなく、常に一番最新のニュース記事を書いたページが開くには
どうしたらいいでしょうか?
ニュースの一覧はコンパクトにして左サイドメニューに設置します。
最新のニュース記事を書いたページはニュースを投稿していくたびに変わっていくので、どうしたらいいものか・・・
何卒宜しくお願いします。
Re: ニュース一覧ページを開いたら、リストではなく、常に一番最新のニュースのページが開くには?
Dittoで最新1つのみを表示させたらどうでしょう?
ニュース一覧ページに
最新10件のニュースタイトル・リンクを表示 このためのdittoと
最新1つのみを表示 のためのdittoとふたつスニペットコールすればできます。
Dittoを複数1ページに設置するには、スニペットコールそれぞれにパラメータidを設定する必要があります。
ニュース一覧ページに
最新10件のニュースタイトル・リンクを表示 このためのdittoと
最新1つのみを表示 のためのdittoとふたつスニペットコールすればできます。
Dittoを複数1ページに設置するには、スニペットコールそれぞれにパラメータidを設定する必要があります。
Re: ニュース一覧ページを開いたら、リストではなく、常に一番最新のニュースのページが開くには?
ありがとうございます。
現在記述しているDittoです。
●ニュース一覧出力Ditto
[!Ditto? &startID=`16` &display=`20` &tpl=`Archive-News` &paginate=`1` &paginateAlwaysShowLinks=`1` &dateFormat=`%Y年%-m月%-d日` &dateSource=`pub_date` &id=`newslist` &orderBy=`pub_date DESC` &hideFolders=`1` &depth=`3`!]
パラメーターIDというものを記述すると可能となる、ということですか。
parameterIDと書けばいいのかな。以下のように記述するのでしょうか。
1つのページのサイドバーに狭いですがmenutitleを使ってニュース一覧を出力し、中央から右側のメインコンテンツエリアに常に一番最新のニュース記事だけを
掲載したいという目的となっております。
(1) 左サイドバーに出力する、ニュース一覧Ditto
[!Ditto? parameterID=`sidebar`~あとに続く
(2) 中央エリアに出力する、一番最新ニュースのDitto
[!Ditto? parameterID=`mainctt`~あとに続く
上記(2)に、常に一番最新のニュース記事を掲載させるのですが、Ditto?~と記述したらニュース一覧が出てしまうので
HTML出力側のソースをどうにかいじるのでしょうかね。
現在は、テキストリンクを出すようにしているので、以下のようになっています。
実際の記事を出力させるのですが、実際の記事部分はリソース作成の本文(*content*)に記載すればいいように
なっているので、ここに書いている内容を、最新記事だけ表示させる、というのはいったい何をどう書いていいのかわからずにおります。
現在記述しているDittoです。
●ニュース一覧出力Ditto
[!Ditto? &startID=`16` &display=`20` &tpl=`Archive-News` &paginate=`1` &paginateAlwaysShowLinks=`1` &dateFormat=`%Y年%-m月%-d日` &dateSource=`pub_date` &id=`newslist` &orderBy=`pub_date DESC` &hideFolders=`1` &depth=`3`!]
パラメーターIDというものを記述すると可能となる、ということですか。
parameterIDと書けばいいのかな。以下のように記述するのでしょうか。
1つのページのサイドバーに狭いですがmenutitleを使ってニュース一覧を出力し、中央から右側のメインコンテンツエリアに常に一番最新のニュース記事だけを
掲載したいという目的となっております。
(1) 左サイドバーに出力する、ニュース一覧Ditto
[!Ditto? parameterID=`sidebar`~あとに続く
(2) 中央エリアに出力する、一番最新ニュースのDitto
[!Ditto? parameterID=`mainctt`~あとに続く
上記(2)に、常に一番最新のニュース記事を掲載させるのですが、Ditto?~と記述したらニュース一覧が出てしまうので
HTML出力側のソースをどうにかいじるのでしょうかね。
現在は、テキストリンクを出すようにしているので、以下のようになっています。
コード: 全て選択
<tr>
<th>■ [+date+]</th>
<td><a href="[+url+]" [+type:別窓+]>[+longtitle+]</a></td>
</tr>
なっているので、ここに書いている内容を、最新記事だけ表示させる、というのはいったい何をどう書いていいのかわからずにおります。
Re: ニュース一覧ページを開いたら、リストではなく、常に一番最新のニュースのページが開くには?
パラメーターIDは
dittoのスニペットコール内に &id=`` と書きます。
1ページに複数のdittoスニペットコールがあるとき、システム側が混乱しないようにつけます。
また、ページネイトする場合も &id=``は必須です。
今回の場合は、ニュース一覧出力Dittoには
&id=`newslist`
とすでに設定されているのでOKです。
中央エリアに出力する、一番最新ニュースのDittoは
[!Ditto? &startID=`16` &display=`1` &tpl=`TopNewsTpl` &paginate=`0` &paginateAlwaysShowLinks=`0` &dateFormat=`%Y年%-m月%-d日` &dateSource=`pub_date` &id=`topnews` &orderBy=`pub_date DESC` &hideFolders=`1` &depth=`3`!]
※ニュース一覧出力Dittoからの変更箇所は赤文字
という感じでいけると思います。
表示用のテンプレート、TopNewsTpl(名前は任意で)をArchive-Newsとは別にチャンクで作る必要があります。
&id=`topnews`のid名もニュース一覧出力Dittoと重複しなければ名前はなんでもOk。
&paginate=`0` &paginateAlwaysShowLinks=`0`
この二つのページネイト用パラメーターはデフォルト値が0なので、パラメーターごと削除しても問題ないです。
あと&startIDは古い書き方(Ditto1.x系用)なので
&parents=`16` にしておいた方がよいと思います。
dittoのスニペットコール内に &id=`` と書きます。
1ページに複数のdittoスニペットコールがあるとき、システム側が混乱しないようにつけます。
また、ページネイトする場合も &id=``は必須です。
今回の場合は、ニュース一覧出力Dittoには
&id=`newslist`
とすでに設定されているのでOKです。
中央エリアに出力する、一番最新ニュースのDittoは
[!Ditto? &startID=`16` &display=`1` &tpl=`TopNewsTpl` &paginate=`0` &paginateAlwaysShowLinks=`0` &dateFormat=`%Y年%-m月%-d日` &dateSource=`pub_date` &id=`topnews` &orderBy=`pub_date DESC` &hideFolders=`1` &depth=`3`!]
※ニュース一覧出力Dittoからの変更箇所は赤文字
という感じでいけると思います。
表示用のテンプレート、TopNewsTpl(名前は任意で)をArchive-Newsとは別にチャンクで作る必要があります。
&id=`topnews`のid名もニュース一覧出力Dittoと重複しなければ名前はなんでもOk。
&paginate=`0` &paginateAlwaysShowLinks=`0`
この二つのページネイト用パラメーターはデフォルト値が0なので、パラメーターごと削除しても問題ないです。
あと&startIDは古い書き方(Ditto1.x系用)なので
&parents=`16` にしておいた方がよいと思います。
最後に編集したユーザー min-o [ 2012年3月09日(金) 18:03 ], 累計 1 回
Re: ニュース一覧ページを開いたら、リストではなく、常に一番最新のニュースのページが開くには?
ちょっと確認ですが、リソースのツリー(親子関係)は
+一覧表示&最新記事1件のページ(16) ←ここにスニペットコール
-記事A
-記事B
-記事C ←最新記事
-記事D
:
または
+一覧表示&最新記事1件のページ ←ここにスニペットコール
+記事の親フォルダリソース(16)
-記事A
-記事B
-記事C ←最新記事
-記事D
:
という構造であってますか?
この構造ならレスで書いたスニペットコールでうまくいくと思うです。
厳密に言えば最新の記事Cページが常に開くのではないですが、常に開くページに記事Cを丸々表示する、という方法で対応していでます。
+一覧表示&最新記事1件のページ(16) ←ここにスニペットコール
-記事A
-記事B
-記事C ←最新記事
-記事D
:
または
+一覧表示&最新記事1件のページ ←ここにスニペットコール
+記事の親フォルダリソース(16)
-記事A
-記事B
-記事C ←最新記事
-記事D
:
という構造であってますか?
この構造ならレスで書いたスニペットコールでうまくいくと思うです。
厳密に言えば最新の記事Cページが常に開くのではないですが、常に開くページに記事Cを丸々表示する、という方法で対応していでます。
Re: ニュース一覧ページを開いたら、リストではなく、常に一番最新のニュースのページが開くには?
感謝申し上げます。
●一覧表示&最新記事1件のページ(16) ←ここにスニペットコール
はい、その通りです、ここが本カテの親というか、グローバルナビゲーションリンク群のひとつになります。
組み込みました。
素晴らしい! tplのチャンクに
[+content+]
と書いたところできました!
できたのはできましたが、
チャンクに
[+content+]
と入れるだけとはなんかもったいないというのか、チャンクにする必要はあるのでしょうか。
tplを記載しないといけないからやはりいるのですかね。
これであってますでしょうか!?
はい、上記で間違いありません。ちょっと確認ですが、リソースのツリー(親子関係)は
+一覧表示&最新記事1件のページ(16) ←ここにスニペットコール
-記事A
-記事B
-記事C ←最新記事
-記事D
:
●一覧表示&最新記事1件のページ(16) ←ここにスニペットコール
はい、その通りです、ここが本カテの親というか、グローバルナビゲーションリンク群のひとつになります。
組み込みました。
素晴らしい! tplのチャンクに
[+content+]
と書いたところできました!
できたのはできましたが、
チャンクに
[+content+]
と入れるだけとはなんかもったいないというのか、チャンクにする必要はあるのでしょうか。
tplを記載しないといけないからやはりいるのですかね。
これであってますでしょうか!?
Re: ニュース一覧ページを開いたら、リストではなく、常に一番最新のニュースのページが開くには?
たしかに[+content+]だけのテンプレートをチャンクにするって、もったいないですね^^;
dittoにはテンプレートの記述方として、チャンク指定のほかに Code via @CODE いうのがあります。
書き方は
&tpl=`@CODE:[+content+]`
この方法、わたしはほとんど使ったことないのですが
http://forum.modx.jp/viewtopic.php?f=7&t=780
をみると、あまり複雑なテンプレートには向かないみたいです。[+content+]だけなら大丈夫と思います。
※他に外部ファイルを指定する File via @FILE もありますがわたしは使ったことないので…^^;
他に単に別のリソースのcontentをもってくるだけならGetFieldというスニペットが便利です。
http://modx.liolion.net/resource/getfield.html
[[GetField? &docid=`10` &field=`content`]] でリソースid10のcontentを表示してくれます。
dittoのように最新、何個を表示などの設定はできませんが、いろいろ使えるスニペットです。
dittoにはテンプレートの記述方として、チャンク指定のほかに Code via @CODE いうのがあります。
書き方は
&tpl=`@CODE:[+content+]`
この方法、わたしはほとんど使ったことないのですが
http://forum.modx.jp/viewtopic.php?f=7&t=780
をみると、あまり複雑なテンプレートには向かないみたいです。[+content+]だけなら大丈夫と思います。
※他に外部ファイルを指定する File via @FILE もありますがわたしは使ったことないので…^^;
他に単に別のリソースのcontentをもってくるだけならGetFieldというスニペットが便利です。
http://modx.liolion.net/resource/getfield.html
[[GetField? &docid=`10` &field=`content`]] でリソースid10のcontentを表示してくれます。
dittoのように最新、何個を表示などの設定はできませんが、いろいろ使えるスニペットです。
Re: ニュース一覧ページを開いたら、リストではなく、常に一番最新のニュースのページが開くには?
本当にあるとは思いませんでした(驚!
チャンクにしない方法もあるのですか。
&tpl=`@CODE:[+content+]`
で試したところ、できたようです。
GetFieldというのも使えそうなのですね。ご親切にありがとうございます。
チャンクにしない方法もあるのですか。
&tpl=`@CODE:[+content+]`
で試したところ、できたようです。
GetFieldというのも使えそうなのですね。ご親切にありがとうございます。
Re: ニュース一覧ページを開いたら、リストではなく、常に一番最新のニュースのページが開くには?
解決していたかに思えた本件ですが、ひとつ直したい点が出まして投稿させて頂きます。
サイトの構成として、
●ホーム
●製品案内
●会社概要
●お問い合わせ
●イベント情報・・・最新のイベント記事
・イベント1・・・最新のイベント記事
・イベント2・・・最新から二番目のイベント記事
・イベント3・・・最新から三番目のイベント記事
という構成なわけですが、
この中の「イベント情報」という大リンク(カテゴリー)が本件の機能を有するのですが、
この「イベント情報」をクリックすると、常に最新イベント記事ページを表示させるようになっています。
※ここでは「イベント1」が表示される
ところが、この「イベント情報」を開いたときのみ、h1の箇所が「イベント情報」になってしまいます。
このh1は、全ページ通して「ページタイトル」つまり、ここでいえば「イベント1」という文字が表示されなければ
ならないのですが、そうなりません。そりゃそうですよね。ここに気付いていませんでした。
<h1>[*pagetitle*]</h1>
このようにしているので、「今いるページのpagetitleに入力された文字」が出力されています。
この「イベント情報」のトップページのところも「ページ1」と出力させるにはどうしたら良いでしょうか。
何度も申し訳ありません、宜しくお願い致します。
サイトの構成として、
●ホーム
●製品案内
●会社概要
●お問い合わせ
●イベント情報・・・最新のイベント記事
・イベント1・・・最新のイベント記事
・イベント2・・・最新から二番目のイベント記事
・イベント3・・・最新から三番目のイベント記事
という構成なわけですが、
この中の「イベント情報」という大リンク(カテゴリー)が本件の機能を有するのですが、
この「イベント情報」をクリックすると、常に最新イベント記事ページを表示させるようになっています。
※ここでは「イベント1」が表示される
ところが、この「イベント情報」を開いたときのみ、h1の箇所が「イベント情報」になってしまいます。
このh1は、全ページ通して「ページタイトル」つまり、ここでいえば「イベント1」という文字が表示されなければ
ならないのですが、そうなりません。そりゃそうですよね。ここに気付いていませんでした。
<h1>[*pagetitle*]</h1>
このようにしているので、「今いるページのpagetitleに入力された文字」が出力されています。
この「イベント情報」のトップページのところも「ページ1」と出力させるにはどうしたら良いでしょうか。
何度も申し訳ありません、宜しくお願い致します。
Re: ニュース一覧ページを開いたら、リストではなく、常に一番最新のニュースのページが開くには?
[[Ditto?display=1&tpl=`@CODE:[+pagetitle+]`]]
こう書くとどうでしょうか
こう書くとどうでしょうか
Re: ニュース一覧ページを開いたら、リストではなく、常に一番最新のニュースのページが開くには?
yama様、ありがとうございますm(_ _)m
質問前から色々調べていたのですが、投稿後に考えていたところ、もしや、ここでもDittoが使えるのかな??
と思ってやってみていました。
すると、@CODEのソースだけではページ1からページ3まで全てのタイトルが出力されたので、
最新だけ出力させるにはどうすればいいのかな?と思っていたところでyama様のご助言が!
以下のようにやってみたところ、できました!!!
Dittoと、@CODEというものが、ニュース更新だけでなく、このように色んな使い方ができるということを教えて頂きました。
大きな気づきをいただいてありがとうございました。これは重宝しそうです!
[[Ditto?display=1&tpl=`@CODE:[+pagetitle+]`]]
こう書くとどうでしょうか
質問前から色々調べていたのですが、投稿後に考えていたところ、もしや、ここでもDittoが使えるのかな??
と思ってやってみていました。
すると、@CODEのソースだけではページ1からページ3まで全てのタイトルが出力されたので、
最新だけ出力させるにはどうすればいいのかな?と思っていたところでyama様のご助言が!
以下のようにやってみたところ、できました!!!
コード: 全て選択
<h1>イベント:[!Ditto? &tpl=`@CODE:[+longtitle+]` &display=`1`!]</h1>
大きな気づきをいただいてありがとうございました。これは重宝しそうです!