hypweb.net
XOOPSマニア  最新情報のRSS(サイト全体)
[ 自宅サーバーWebRing |ID=54 前後5表示乱移動サイト一覧 ]

19年5月20日(Mon) 5時00分
Counter: 10438, today: 1, yesterday: 0

ログイン情報でブロックのキャッシュをコントロール Fixed link [back to top]

ブロックによっては、登録ユーザーごとに内容が変化し、キャッシュさせると問題が生じる場合があります。
そこで、ブロックの編集画面へ「非ログイン(ゲスト)ユーザーのみキャッシュを有効にすることができるオプション」を追加する改造です。

本来なら、ブロック情報のデータベースに項目を増やすべきですが、バージョンアップ時の手間などを考えて、ちょっと姑息な方法で実現しています。 :p

改造のベースバージョンは XOOPS 2.0.7.3 です。

header.php Fixed link [back to top]

129行目あたり Fixed link [back to top]

		if (empty($bcachetime)) {

を以下のように変更

		// Only a guest enable cache. by nao-pon
		//if (empty($bcachetime)) {
		if ($bcachetime % 10 == 1)
		{
			$bcachetime_guest = TRUE;
			$bcachetime = $bcachetime - 1;
		}
		else
			$bcachetime_guest = FALSE;
		if (empty($bcachetime) || (is_object($xoopsUser) && $bcachetime_guest)) {

modules/system/admin/blocksadmin/main.php Fixed link [back to top]

135行目あたり Fixed link [back to top]

	$bcachetime = isset($bcachetime) ? intval($bcachetime) : 0;

下に以下を挿入

	// Only a guest enable cache. by nao-pon
	if (!empty($b_cg_only)) $bcachetime = $bcachetime + 1;

modules/system/admin/blocksadmin/blockform.php Fixed link [back to top]

73行目あたり Fixed link [back to top]

$cache_select = new XoopsFormSelect(_AM_BCACHETIME, 'bcachetime', $block['cachetime']);

上に以下を挿入

// Only a guest enable cache. by nao-pon
$block['cache_guest_only'] = 0;
if ($block['cachetime'] % 10 == 1)
{
	$block['cache_guest_only'] = 1;
	$block['cachetime'] = $block['cachetime'] - 1;
}

75行目あたり Fixed link [back to top]

$form->addElement($cache_select);

下に以下を挿入

// Only a guest enable cache. by nao-pon
$form->addElement(new XoopsFormRadioYN('Only a guest enable cache.', 'b_cg_only', $block['cache_guest_only']));

結果的に Fixed link [back to top]

73行目以降は次のようになります。

// Only a guest enable cache. by nao-pon
$block['cache_guest_only'] = 0;
if ($block['cachetime'] % 10 == 1)
{
	$block['cache_guest_only'] = 1;
	$block['cachetime'] = $block['cachetime'] - 1;
}
$cache_select = new XoopsFormSelect(_AM_BCACHETIME, 'bcachetime', $block['cachetime']);
$cache_select->addOptionArray(array('0' => _NOCACHE, '30' => sprintf(_SECONDS, 30), '60' => _MINUTE, '300' => sprintf(_MINUTES, 5), '1800' => sprintf(_MINUTES, 30), '3600' => _HOUR, '18000' => sprintf(_HOURS, 5), '86400' => _DAY, '259200' => sprintf(_DAYS, 3), '604800' => _WEEK, '2592000' => _MONTH));
$form->addElement($cache_select);
// Only a guest enable cache. by nao-pon
$form->addElement(new XoopsFormRadioYN('Only a guest enable cache.', 'b_cg_only', $block['cache_guest_only']));
if (isset($block['bid'])) {
	$form->addElement(new XoopsFormHidden('bid', $block['bid']));
}

以上で完了。 :D

コメント Fixed link [back to top]

  • とても参考になりました。自サイトでやってみます。ありがとうございます。 -- 通りすがりさん 2005-08-15 (月) 14:14:16

Name:
付箋機能(wema) メニュー 
付箋の編集
文字色: 背景色:
お名前:  線接続id:


Reload   Diff Source Attach Attach List   Wiki Top Page List Search Resent Chenges Backup   Help   RSS feed
Page name:XOOPS/ブロックのキャッシュコントロール [ Sended pings(0) ]
Author:nao-pon - 2005/08/15 14:14:16 JST(5025d)
Last edit:nao-pon - 2005/08/15 14:14:16 JST(5025d)
Editers:登録ユーザー
Back Link:通りすがりさん(797d) 通りすがりさん(2903d) XOOPS(4727d)

ページコメント
The comments are owned by the poster. We aren't responsible for their content.

Track Back [ Track Back(0) ]
Track Back URL: https://xoops.hypweb.net/wiki/tb/1504

このページのTopへ
ログイン
ユーザ名:

パスワード:

オートログイン

Basic 認証

Register now! | Lost Password?



メインメニュー
最新のページ
ブックマーク
Please log in to use it.
[Login]
新着トラックバック
サイト内 Wiki
☆ 検索 ☆



高度な検索(サイト内)
FireFox検索プラグイン
オンライン状況
合計 18 人がオンライン中 :-)
(Wiki [自由帳] : 1 人)

登録ユーザ: 0 & ゲスト: 18

もっと...
サイト情報
管理人

nao-pon
 

登録ユーザ数: 4604


Web Services by Yahoo! JAPAN
楽天ウェブサービスセンター
Amazon.co.jpアソシエイト
現在ページのQRコード
現在ページのQRコード
[携帯対応]
参照元情報