件名: 新着記事のトップページへの表示

投稿日: 09/30/11 10:03 AM JST
投稿者: summer ocean

お世話になっております。 さて、新着ページのRSSの内容を静的ページphpを用いてトップページに表示したいのですが、 http://wiki.geeklog.jp/index.php/StaticPagesLastTopiclist の方法によっても http://wiki.geeklog.jp/index.php/StaticPagesBlock14 の方法によっても、
PHP Formatted Code

Parse error: syntax error, unexpected '<' in /virtual/hogehoge/private/hogehoge/plugins/staticpages/functions.inc(841) : eval()'d code on line 1
のエラーが出てしまいます。どちらの方法の場合も、当該ページに記載されているコードをそのまま静的ページエディタで貼り付け、RSSのURLの部分などを書き換えて試しました。 どのように対応すればよいでしょうか。ご教授いただければ幸いです。

書込: 新着記事のトップページへの表示

投稿日: 10/01/11 12:01 AM JST
投稿者: Ivy

Wikiにあるとおり、
PHP Formatted Code
$exclude=array('');  // 見せたくない記事カテゴリIDをリスト
echo phpblock_lastarticles(10,60,$exclude); // 引数:記事数,先頭文字数,排除記事カテゴリID
 
これをそのまま静的ページPHPモードで作成すれば、新着記事が表示されます。 RSSファイルを介さないで、DBをそのまま表示させています。 静的ページPHPを記述する場合は、アドバンストエディタはつかわないで、HTMLモードで記述すること。 PHPのreturn あり、なし の使い分けは、echo のときは PHPモード。returnで表示内容を返すときは、returnありのPHPモードで保存してください。 他サイトの新着を表示するときは、RSSを介して表示させることになりますが、同一サイトでは、その必要はありません。

書込: 新着記事のトップページへの表示

投稿日: 10/04/11 09:43 AM JST
投稿者: summer ocean

ivyさん ありがとうございます。うまくできました。 お礼が遅れて申し訳ありませんでした。

書込: 新着記事のトップページへの表示

投稿日: 10/04/11 10:02 AM JST
投稿者: summer ocean

たびたび失礼いたします。 教えていただきました方法で、新着情報のみを単に表示させることはできたのですが、 その表示の前後にテキスト分を入れたいと思い、いろいろ試しているのですがやはりエラーになります。 具体的には、今のところ静的ページのエディタのHTMLモードで
PHP Formatted Code
<h2 >新着情報</h2>
説明文~~5行ほど
<blockquote><blockquote>

$exclude=array('');  // 見せたくない記事カテゴリIDをリスト
 echo phpblock_lastarticles(20,60,$exclude); // 引数:記事数,先頭文字数,排除記事カテゴリID

</blockquote></blockquote>
と書いてみましたが、 やはり、
PHP Formatted Code
Parse error: syntax error, unexpected '<' in /virtual/mysite/private/hogehoge/plugins/staticpages/functions.inc(841) : eval()'d code on line 1
というようなエラーが出ます。 コードの部分のみ
PHP Formatted Code
<?php  ?> や <script language="php"> </script>
で囲んでみましたが同じでした。 どのようにすれば、テキストとPHPの混合内容をうまく表示させることができるでしょうか。 ご教示いただければ幸いです。

書込: 新着記事のトップページへの表示

投稿日: 10/04/11 06:21 PM JST
投稿者: mystral-kk

Quote by: summer ocean

たびたび失礼いたします。 教えていただきました方法で、新着情報のみを単に表示させることはできたのですが、 その表示の前後にテキスト分を入れたいと思い、いろいろ試しているのですがやはりエラーになります。 具体的には、今のところ静的ページのエディタのHTMLモードで

PHP Formatted Code
<h2 >新着情報</h2>
説明文~~5行ほど
<blockquote><blockquote>

$exclude=array('');  // 見せたくない記事カテゴリIDをリスト
 echo phpblock_lastarticles(20,60,$exclude); // 引数:記事数,先頭文字数,排除記事カテゴリID

</blockquote></blockquote>
と書いてみましたが、 やはり、
PHP Formatted Code
Parse error: syntax error, unexpected '<' in /virtual/mysite/private/hogehoge/plugins/staticpages/functions.inc(841) : eval()'d code on line 1
というようなエラーが出ます。 コードの部分のみ
PHP Formatted Code
<?php  ?> や <script language="php"> </script>
で囲んでみましたが同じでした。 どのようにすれば、テキストとPHPの混合内容をうまく表示させることができるでしょうか。 ご教示いただければ幸いです。

横から失礼します。

PHP Formatted Code

?>
<h2 >新着情報</h2>
説明文~~5行ほど
<blockquote><blockquote>
<?php
$exclude=array('');  // 見せたくない記事カテゴリIDをリスト
 echo phpblock_lastarticles(20,60,$exclude); // 引数:記事数,先頭文字数,排除記事カテゴリID
?>
</blockquote></blockquote>
 

としてみてください。静的ページの先頭部分では既に<?phpが宣言されているのと同じ状態なので、いったん、?>としてPHPモードを抜ける必要があります。


書込: 新着記事のトップページへの表示

投稿日: 10/04/11 07:04 PM JST
投稿者: Ivy

mystral-kkさん、ありがとうございます。 また、ページのつくりかたとして、htmlにPHPが混在していると 管理しにくいので、2つを分けて作成し、
PHP Formatted Code
[staticpage_content:PHPモードで記述したページのID]
を挿入することで読み込むことをおすすめします。 staticpage_contentのほかにもたくさんの自動タグが用意されています。 自動タグは、Geeklogの機能のなかでもかなり便利な機能ですのでどうぞ。 ちなみに自動タグはテンプレートにも記述できます。

書込: 新着記事のトップページへの表示

投稿日: 10/05/11 01:53 PM JST
投稿者: summer ocean

mystral-kkさん、ありがとうございます。 うまく表示できるようになりました。 助かりました!

書込: 新着記事のトップページへの表示

投稿日: 10/05/11 02:29 PM JST
投稿者: summer ocean

Ivyさん、ありがとうございます。 早速試みたのですが、
PHP Formatted Code
[staticpage_content:]
のタグはうまく動きません。HTMLモードかつ「PHPを実行しない」で保存しておりますが、画面上にはコードの文字列そのものが表示されてしまいます。 他のタグも試したところ、
PHP Formatted Code
[story:id リンクテキスト(省略可能)][staticpage:id リンクテキスト(省略可能)]
は動いているようですが、
PHP Formatted Code
[page_break]
はやはり同じようにコードの文字列のみ表示されてしまいます。 バージョンか何かの問題でしょうか。 お手数ですが、よろしくお願いします。

書込: 新着記事のトップページへの表示

投稿日: 10/05/11 04:30 PM JST
投稿者: Ivy

Geeklogのバージョンは何でしょうか? 1.4あたりだと無かったように思います。
PHP Formatted Code
[staticpage_content:]
ではなく
PHP Formatted Code
[staticpage_content:静的ページID]
のように、ページIDは指定しているでしょうか。

書込: 新着記事のトップページへの表示

投稿日: 10/06/11 06:18 AM JST
投稿者: summer ocean

バージョンは、1.4.1です。 あちこちいじっているので、バージョンアップが難しくなってしまい、今に至っています。 これからこの関数を容易に組み込むことは可能でしょうか? コードの記述時にはIDは指定しているのですが…。

書込: 新着記事のトップページへの表示

投稿日: 10/06/11 11:00 AM JST
投稿者: Ivy

Geeklog 1.4.1ではstaticpage_content はないので使えません。 バージョンアップすることで、ハックしなくてもよくなることもおおいので そのまま標準アップグレードして、必要なところを後からハックするとよいです。 ハックしないで、プラグインや カスタム関数でカスタマイズをおすすめします。

書込: 新着記事のトップページへの表示

投稿日: 10/08/11 09:20 PM JST
投稿者: summer ocean

Ivyさんありがとうございます。 アップグレードは本当に懸案事項です。 どこかできちんとやって、プラグインやカスタム関数でカスタマイズできるように勉強します。 又よろしくお願いします。

Geeklog Japan - 掲示板
https://www.geeklog.jp/forum/viewtopic.php?showtopic=17162