ログイン
ユーザ名

パスワード



パスワード紛失

新規登録
参照元情報
参照なし

このフォーラムではゲスト投稿が禁止されています

このフォーラムに新しいトピックを立てることはできません

Action
list-tree ツリー構造順で表示 sort-down 投稿の新しいものから previous 前のトピック next 次のトピック

質問 お問合せ窓口のコメントを最近のコメントブロックに表示させたくない

こんにちは、お世話になります。miniHORIです。

タイトルのように、お問合せ窓口のコメントを最近のコメントブロックに表示させたくないのですが。。。ど~すればよいのでしょうか?

せっかく周りの人に内緒で問合せしても、問合せに対してコメントしたとたんに、最近のコメントブロックの一覧にタイトルなどが表示され、ある意味、内緒ではなくなってしまい・・・ 困っています。

お問合せ窓口のコメントを最近のコメントブロックに表示させない方法を教えてください。(ソース修正でもOKです)

わがまま言って、すみませんが、よろしくお願いします。
m(__)m

なし Re: お問合せ窓口のコメントを最近のコメントブロックに表示させたくない

XCL 2.1 と仮定しての hack です。
「最近のコメント」ブロックで、コメントを表示するモジュールの指定 (ブロックの編集でディレクトリ名をカンマ区切りで並べる) ができるようになります。
--- modules/legacy/blocks/legacy_comments.php~	2007-06-24 23:58:46.000000000 +0900
+++ modules/legacy/blocks/legacy_comments.php	2008-10-24 16:02:55.317793487 +0900
@@ -24,13 +24,25 @@
     include_once XOOPS_ROOT_PATH.'/include/comment_constants.php';
     $comment_handler =& xoops_gethandler('comment');
     $criteria = new CriteriaCompo(new Criteria('com_status', XOOPS_COMMENT_ACTIVE));
+    $module_handler =& xoops_gethandler('module');
+    $modules =& $module_handler->getObjects(new Criteria('hascomments', 1), true);
+    if (!empty($options[1])) {
+	$accept = explode(',', $options[1]);
+	$mids = array();
+	foreach ($modules as $module) {
+	    if (in_array($module->getVar('dirname'), $accept)) {
+		$mids[] = $module->getVar('mid');
+	    }
+	}
+	if ($mids) {
+	    $criteria->add(new Criteria('com_modid', '('.join(',', $mids).')', 'IN'));
+	}
+    }
     $criteria->setLimit(intval($options[0]));
     $criteria->setSort('com_created');
     $criteria->setOrder('DESC');
     $comments =& $comment_handler->getObjects($criteria, true);
     $member_handler =& xoops_gethandler('member');
-    $module_handler =& xoops_gethandler('module');
-    $modules =& $module_handler->getObjects(new Criteria('hascomments', 1), true);
     $comment_config = array();
     foreach (array_keys($comments) as $i) {
         $mid = $comments[$i]->getVar('com_modid');
@@ -61,7 +73,9 @@
 
 function b_legacy_comments_edit($options) {
     $inputtag = "<input type='text' name='options[]' value='".intval($options[0])."' />";
-    $form = sprintf(_MB_LEGACY_DISPLAYC, $inputtag);
+    $inputmod = "<input type='text' name='options[]' value=\"".htmlspecialchars($options[1])."\" />";
+    $form = sprintf(_MB_LEGACY_DISPLAYC, $inputtag)."<br/>".
+	sprintf(_MB_LEGACY_DISPLAYMOD, $inputmod);
     return $form;
 }
 ?>
--- modules/legacy/language/japanese/blocks.php	2007-05-25 15:05:02.000000000 +0900
+++ modules/legacy/language/japanese/blocks.php	2008-10-24 15:40:17.201485967 +0900
@@ -26,6 +26,7 @@
 define("_MB_LEGACY_LOGO",    "%s ディレクトリ内のロゴファイル名");  // %s is your root image directory name
 define("_MB_LEGACY_SADMIN",  "管理者グループを表示する");
 define("_MB_LEGACY_DISPLAYC","%s 件表示する");
+define("_MB_LEGACY_DISPLAYMOD","表示モジュール %s");
 
 define("_MB_LEGACY_LANG_NUMTHEME", "%s テーマ");
 define("_MB_LEGACY_LANG_THSHOW", "スクリーンショット画像の表示");
まあ、設定ミスもあり得るので、あまりお勧めしませんが。

お勧めは、一般モジュールのコメントは d3forum のコメント統合にしてしまい、xoopsのコメント機能は ccenter 専用にしてしまう方法。

list-tree ツリー構造順で表示 sort-down 投稿の新しいものから previous 前のトピック next 次のトピック



条件検索へ
© 2008 MySite Web Service