2022/07/04 15:32 JST

Geeklog Japan Forums

$_CONF['show_right_blocks'] = true;にした時のエラーについて


状態: オフライン

MEGU

Forum User
Chatty
登録日: 2005/08/01
投稿数: 45
お世話になります。よろしくお願い致します。 「個々のの機能」になるのか、「バグ」に なるのかわからなかったのですが、こちらに書くことにしました。 また、内容が近い記事があったのですが、エラー報告ではないので 改めて書きます。 (参照した記事 https://www.geeklog.jp/forum/viewtopic.php?forum=16&showtopic=1255&mode=&onlytopic=&show=5 ) 私は、トップページのみ、3カラム、他全て 2カラム(右メニュー)というサイト構成にしたかったので、 config.phpで、「$_CONF['show_right_blocks'] = true;」 としました。 そして、左に表示するブロックは、「ホームページのみ」 の表示にし、思い通りのサイト構成になったのですが。。 掲示板の表示で、問題が起きました。 それは、個々の掲示板を表示した時だけ起こる様なのですが、 (例えば http://www.xxx.jp/forum/viewtopic.php?showtopic=24 など) このページ、というかこの階層のページといえばいいでしょうか、 を表示しようとすると、以下のエラーメッセージが表示されます。 Warning: Invalid argument supplied for foreach() in /home/xxx/xxx/system/lib-custom.php on line 374 lib-custom.php L374には以下があります。 foreach($showblocks as $block) { で、次に、public_html/forum/viewtopic.phpを 見ますと、以下のような記述があり(88行目~くらい)、 echo COM_siteHeader( array('custom_showBlocks',$CONF_FORUM['leftblocks']) ) ; //Check is anonymous users can access forum_chkUsercanAccess(); ふと、思い当たって、config.phpの $_CONF['show_right_blocks'] = true;を falseにしましたが、やはり、同じエラーが出ました。 (この状態だと、ホームページ以外、1カラム状態)。 で、またふと思い当たり $_CONF['show_right_blocks'] = true;は、 trueにしたまま、全てのページに表示する 左ブロックを1個作ってみました。 すると、上記のメッセージは、出なくなりました。 要するに、掲示板の個々の記事を表示する時に、 左にブロックがないと、出るエラー?な、様なのです。 掲示板を利用しなければ、今のままで、問題は ないのですが、何か解決策がありましたら、、、と 思いまして、書き込みました。 長くなりまして。すみません。。 どうぞよろしくお願い致します。

状態: オフライン

Ivy

Site Admin
Admin
登録日: 2004/01/01
投稿数: 5974
場所:Tokyo
2カラム(右メニュー)というサイト構成にするばあい、config.phpを 変更しないで、左ブロックをfloat:right で右よせ表示させて 2カラム右メニュー形式にしてください。 このサイトもそのようにしています。 このあたりはWikiにもかいていますので、ご覧ください。 config.phpの説明でも、その右ブロックのモードは使わないよう 注意書きをついかしています。 右ブロックモードにすると、そのサイトはすべて 右ブロックモードでしかつかえず、いろんなテーマが 試せないですしね。 Wink 掲示板でエラーがでるのはなぜか・・・ config.phpで修正するだけでなく、functions.phpも 修正しなければならないような記述がconfig.phpの英文ドキュメントに あり、かなりややこしいように 感じましたのでスタイルシートでの設定がおすすめです。

状態: オフライン

kino

Site Admin
Admin
登録日: 2005/12/30
投稿数: 568
場所:京都市下京区
木下です。
投稿者: MEGU で、またふと思い当たり $_CONF['show_right_blocks'] = true;は、 trueにしたまま、全てのページに表示する 左ブロックを1個作ってみました。 すると、上記のメッセージは、出なくなりました。 要するに、掲示板の個々の記事を表示する時に、 左にブロックがないと、出るエラー?な、様なのです。
ここまで調べがついていたら対策も簡単ですね。
PHP Formatted Code

    foreach($showblocks as $block) {
   ・・・
  }
 
PHP Formatted Code

  if(!empty ($showblocks){
      foreach($showblocks as $block) {
     ・・・
    }
    }
 
とでもすれば良いかも。
木下敏夫 http://www.tktools.jp/ http://okusama-shop.com/

状態: オフライン

MEGU

Forum User
Chatty
登録日: 2005/08/01
投稿数: 45
今駒さん。kinoさん。 ありがとうございます。 >kinoさん! すごいです!ありがとうございます。 出来ました! トップのみ3カラム、他ページ、全て2カラム(右メニュー) 実現出来ました!どうもありがとうございます。 >今駒さん。 これは、「$_CONF['show_right_blocks'] = false;」でも ある条件において、おこるエラーです。 それと、ご紹介のテーマだと、トップページが 3カラムにならないかな…?と思いまして。 (試してないんですが…)。 あ、それと、  if(!empty ($showblocks){ 私、素人で…じつは、ちょっとはまりました(汗笑)  if(!empty ($showblocks)){ でいいんですよね。 ありがとうございました。出来ると嬉しいですね。

状態: オフライン

kino

Site Admin
Admin
登録日: 2005/12/30
投稿数: 568
場所:京都市下京区
木下です。
投稿者: MEGUあ、それと、  if(!empty ($showblocks){ 私、素人で…じつは、ちょっとはまりました(汗笑)
m(_ _)m
投稿者: MEGU  if(!empty ($showblocks)){ でいいんですよね。 ありがとうございました。出来ると嬉しいですね。
それが自力で判れば十分プログラムを弄っていける資質があるかも。 (^^
木下敏夫 http://www.tktools.jp/ http://okusama-shop.com/

状態: オフライン

Ivy

Site Admin
Admin
登録日: 2004/01/01
投稿数: 5974
場所:Tokyo
1カラム形式にした、携帯のテーマでエラーが 起こっているわけではないので、掲示板表示で サイドブロックが無い場合にエラーが起こるというのは…? config.phpで変更してしまうと すべてのテーマで、footer.thtmlから 左ブロックを よんで、header.thtmlからは右ブロックを呼ぶことに なりますから、config.phpはデフォルトのままにして テーマを、まんなかのコンテンツエリアを、テーブル組 にしないでスタイルで配置して、float:rightで、 左ブロックを右に表示させて右ブロックはfloat:leftで 配置するのがよいとおもうんですが・・・ このサイトでは、IE6で、ちょっとレイアウトが くずれる(IE7 FireFoxはOK) といったところまで改善した、2カラム右メニュー テーマをえらべます。3カラムにするのも、ちょっとさわれば いけるはず。

時刻はすべて JST , 現在の時刻は 03:32 PM

  • 通常
  • 注目トピック
  • ロック済
  • 新着
  • 注目トピック 新着
  • ロック済トピック 新着
  •  ゲストユーザの投稿を見る
  •  投稿可能
  •  一部のHTMLを許可
  •  バッドワードをチェック