- ベストアンサー
最新情報10件のニュースをトップページのcontents2に表示する方法を教えてください
- トップページのcontents2に最新情報10件のニュースを表示する方法を教えてください。
- エディア様のようにニュースページからdivブロックを抜粋して表示する方法を教えてください。
- JQueryなどのライブラリを利用することで実現できます。具体的な手順や解説が記載されているページがあれば教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 内部的な仕組みまでは開発者でないとわかりませんので推測です。 別のニュースページの10件を抜粋しているのは確かですが動的か手作業かわかりません。 ソースに既に入っていますのでjQueryとかを使ったAjaxでは無いです。 仮に動的だとすると トップページ表示時にサーバ側でデータベース等から最新10件を埋め込みます。 ニュースの一覧は過去分全てを読み込みます。 静的な方法だとすると 単純に10件文を表示しているだけです。 (追加されるごとにnews一覧と両方直すイメージ) なので ><質問> >エディア様のような、ニュースページに記述されている最新の10個のdivブロックを抜粋し、 >トップページのcontents2に、最新情報10件を表示するにはどのようにすればいいのでしょうか? 設計次第という回答になります。 おそらく自サイトのデータを表示するのにわざわざ他のページの10件分を何らかの方法で抜粋するような仕組みはつくりません。 同じデータを読み込んでトップページならそのデータの10件、一覧ページなら全て表示するという感じにします。 仕組みの解説はおおざっぱにこんな感じです。 PHP ファイルを読み込んで表示 とかで調べてみてください。 (PHPでもperlでもJavaServletでもサーバサイドで動く言語なら何でも良いです)
その他の回答 (2)
- tkmojo
- ベストアンサー率50% (105/207)
RSSを読み込んで表示するphpを書けばいいんじゃないでしょうかね? 参考のサイトのRSSのソースを見ると、MTを使ってるようなので MT使わないと全く同じやり方では出来ないと思いますけど。 http://www.edia.co.jp/news/atom.xml MT以外でもWordpressでもいいと思いますが、CMSで記事を作成し、記事一覧に表示され、RSSフィードが更新される。 そのRSSをトップページに読み込めばいいと思います。 あんまり詳しくないんですが、普通のCMSならそもそもRSSなんて使わなくても記事一覧は任意の場所に引っ張って来れると思います。 CMSを使わないで、ニュースページを手動で更新するのでしたら、 Dreamwerverのライブラリを使えばひとつのファイルの更新で2ページ分反映できます。
お礼
やっぱりCMS、Wordpressという候補が出てきますか。 >Dreamwerverのライブラリを使えばひとつのファイルの更新で2ページ分反映 こういったこともできるのですね。Dreamwerver使ったことないのですが。 一つの新たな知識として、とても参考になりました。 情報ありがとうございました。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
そのサイトは、newsはプログラムです。 /newsが呼ばれると、プログラムが起動して、text/htmlデーターを吐き出しているのでしょう。 .htaccessにて AddType application/x-httpd-cgi news ; としておけばよいだけです。 それは、それで置いておいて >のようなレイアウト構成で、ページを作成しております。 と言うアプローチはしません。HTMLは文書構造を記述するものですから、HTML5的に書くと <body> <header> ヘッダー </div> <section> <section> コンテンツ </section> <section> コンテンツ </section> <nav> ナビゲーション </nav> </section> <footer> </footer> </body> です。HTML4.01/XHTML1.0,XHTML1.1でしたら、それぞれは <div class="heqder">とかになるだけです。 →HTML5 における HTML4 からの変更点 ( http://standards.mitsue.co.jp/resources/w3c/TR/html5-diff/#new-elements ) →『DIV要素とSPAN要素は、id属性及び class属性と併用することで、文書に構造を付加するための一般機構を提供する。 (HTML4.01仕様書 http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/global.html#h-7.5.4 )』 その上で、それをどのように配置するかをスタイルシートで指定していきます。 本題です。 もっとも参考になるのが、掲示板(BBS)のシステムでしょう。投稿フォームは管理者にしか見えない、操作できないものにしてしまえば良いです。管理者が新しい記事を投稿すると、それぞれの記事をデータベースに格納して、それを表示する。 /news/ が呼ばれると、サーバーは以下の/に何もないので、/はPATH_INFOという環境変数に格納してnewsを起動します。 たとえば、 #!/usr/locla/bin/perl ・・・ if($ENV{'PATH_INFO){ open IN './data$ENV{'PATH_INFO'; *** __END__ <html・・この下に、上記で言うところの<section><section>$HTML_DATA</section></section>内が空のHTMLを記述する。 とか・・ もしPATH_INFOがなければ、データベースのタイトルと更新日だけを section section内に一覧として作成し、それを$HTML_DATAに代入。 PATH_INFOがあれば、該当するデータを$HTML_DATAに代入 あとは、 while(<DATA>){} で書き出す・ こうしてHTMLが出来上がれば、スタイルシートでお好きなようにデザインしてください。
お礼
すみません。ちょっと難しくて感じが完全につかめませんでした。 LancerVII様の仰られたことを丁寧にコード記述して頂けたと感じているのですが。 掲示板の概念も合わせて考えてみようと思います。 情報ありがとうございました。
お礼
>おそらく自サイトのデータを表示するのにわざわざ他のページの10件分を何らかの方法で抜粋するような仕組みはつくりません。 同じデータを読み込んでトップページならそのデータの10件、一覧ページなら全て表示するという感じにします。 1.DBのテーブルAに放り込む(日付、内容) 2-1.トップページなら、DBからデータ10件分を読み込みmaincontents2のdiv部分でhtmlを作成。 2-2.newなら、DBからデータ20件分を読み込みmaincontents2のdiv部分でhtmlを作成。 という風に考えるということですね。 なんとなく感じはつかめました。 もうちょっと情報を集めたいと思います。 情報ありがとうございます。