2022/10/03 05:34 JST

Geeklog Japan Forums

記事のみ3カラム(他は2カラム)、または記事の話題ごとに2カラムと3カラムの切り替えはできませんか?


状態: オフライン

yam

Forum User
Chatty
登録日: 2009/04/26
投稿数: 37
いつもお世話になります。 記事のみを3カラム扱いにして、掲示板やメディアギャラリなど他のプラグインは2カラムにしたいと試行錯誤しています。 コンフィギュレーション>テーマ>右ブロックを常時表示する を設定すると、記事だけでなく、掲示板、メディアギャラリも3カラムになってしまいます。 これを回避して、掲示板、メディアギャラリ等を2カラムにする方法はありますか? また、記事の話題ごとに2カラムと3カラムの切り替えを行うことは可能でしょうか? ご存知の方がいたら、お教えいただけますか? よろしくお願いします。

状態: オフライン

Ivy

Site Admin
Admin
登録日: 2004/01/01
投稿数: 5974
場所:Tokyo
functrions.phpで制御すると,こまかくページごとに変更できます。 http://wiki.geeklog.jp/index.php/TOPページを特殊なレイアウトにする#右ブロック{rightblock}を常時表示する
PHP Formatted Code
// 特定ページ(idに'''_no_rightblock'''が含まれる)のみ,右ブロックを非表示にしてその他は常時表示にする
if( strpos( $_SERVER['PHP_SELF'], '_no_rightblock' ) !== false ){
    $_CONF['show_right_blocks'] = false;
} else {
    $_CONF['show_right_blocks'] = true;
}
記事のIDで切り分けるとよいです。 記事の単独ページのURLには話題IDは入らないので,記事ごとのIDで設定してください。

状態: オフライン

yam

Forum User
Chatty
登録日: 2009/04/26
投稿数: 37
Ivy様 はじめまして。さっそくのご回答ありがとうございます。 お教えいただいた方法の場合、掲示板やメディアギャラリ、FAQなど idがないページはどのように対処すればいいのでしょうか? idがないと、_no_rightblockがつけられず、3カラムになってしまいます・・。 また、当方のサイトでは 話題が約1000、記事がひとつの話題につき100以上になりそうで、投稿者も多数になるため、 運用上、_no_rightblockを記事ひとつひとつにつけていくには難しいという事情があります。 個別話題ごとに2カラムと3カラムの切り替えはあきらめるとして、 記事のみ一括で3カラム、それ以外は2カラムにできればよいのですが・・。 何かよいアイデアがありましたら、またよろしくお願いいたします。

状態: オフライン

Ivy

Site Admin
Admin
登録日: 2004/01/01
投稿数: 5974
場所:Tokyo
PHP Formatted Code
if( strpos( $_SERVER['PHP_SELF'], '_no_rightblock' ) !== false ){
この部分はどのようにでも変更してください。
PHP Formatted Code
if( strpos( $_SERVER['PHP_SELF'], '_no_rightblock' ) !== false || $_SERVER['PHP_SELF'], 'forum' ) !== false ){
たとえばこんなふうに,forumを追加すると掲示板もそうなります。

状態: オフライン

yam

Forum User
Chatty
登録日: 2009/04/26
投稿数: 37
Ivy様 ご助言、ありがとうございました。教えていただいたコードは、if内の「( 」のくくりが、ちょっと違っているようでした。以下のように_no_rightblockは使わずに、非表示にしたいプラグイン等を設定することで、「記事のみ3カラム、他のプラグインは2カラム」を実現でき、目的の動作を確認することができました。 以下のように、修正しました。
PHP Formatted Code

if(( strpos( $_SERVER['PHP_SELF'], 'mediagallery' ) !== false ) ||
( strpos( $_SERVER['PHP_SELF'], 'forum' ) !== false ) ||
( strpos( $_SERVER['PHP_SELF'], 'calendarjp' ) !== false ) ||
( strpos( $_SERVER['PHP_SELF'], 'faq' ) !== false ) ||
( strpos( $_SERVER['PHP_SELF'], 'staticpages' ) !== false ) || //右ブロックを非表示にした2カラムの静的ページでも、右ブロックが出てしまうことを回避するために記述。静的ページで3カラムにした場合は問題なく右ブロックを表示してくれる。
( strpos( $_SERVER['PHP_SELF'], 'admin' ) !== false ) ||
( strpos( $_SERVER['PHP_SELF'], 'search' ) !== false ) ||
( strpos( $_SERVER['PHP_SELF'], 'users' ) !== false ) || //ログイン、およびマイアカウントを2カラムにするため。
( strpos( $_SERVER['PHP_SELF'], 'directory' ) !== false ) ||
( strpos( $_SERVER['PHP_SELF'], 'sitemap' ) !== false )){
    $_CONF['show_right_blocks'] = false;
} else {
    $_CONF['show_right_blocks'] = true;
}
 
上記のように 'admin'も指定することで管理画面等も2カラムになりました Big Grin 。 ただし、nmoxmenu、nmoxtopicown、spamxの管理画面だけは、それぞれのの名前や 'admin'を記述しても2カラムにならず、3カラムのままでした。 しかし、大いに満足です。ありがとうございました。今後ともどうぞよろしくお願いいたします。

時刻はすべて JST , 現在の時刻は 05:34 AM

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