XPressME Integration Kit

フォーラム

Re: XOOPSメインメニュー以下のサブメニューの表示を変える方法について

永らくありがとうございました フォーラム 使い方全般 XOOPSメインメニュー以下のサブメニューの表示を変える方法について Re: XOOPSメインメニュー以下のサブメニューの表示を変える方法について

#3253
匿名
ゲスト

toemonさま

いろいろとヒントを頂き、ありがとうございます。

結論から言うと、まだ解決できないのですが、問題点の切り分けができてきたので、その確認をして、ここを閉じようと思います。

まず、hackを入れている場所は的を得ていたので、そこから先に問題がありそうです。

modinfo.php は、アップデートの際にオーバーライドされるので、言語定数管理を利用するのが良いと思いますが、ファイルの直接操作も、言語定数管理の利用でも、結果が反映されませんでした。

それは、キャッシュ(ブラウザ、smartyなど全て)を全て削除しても反映されませんでした。

ただし、この理由は、言語定数管理機能が正しく機能していないモノと考えられます。

その根拠として、言語定数管理の画面で、

キャッシュファイル名

D:/CustomerData/webspaces/webspace_00119384/wwwroot/ovs_trust/xoops_trust/cache/lang_1168d7_xpress_japanese_modinfo.php

キャッシュ状況

未作成

このコアでは、言語ファイルオーバーライドシステムはD3LanguageManager対応モジュールでしか有効になりません。非対応モジュールでもオーバーライドシステムを利用する場合は、以下のHackを試してください。

<code>include/common.php<br />
if ( file_exists(XOOPS_ROOT_PATH."/modules/"...."/main.php") ) {<br />
include_once XOOPS_ROOT_PATH."/modules/"...."/main.php";<br />
} else {<br />
if ( file_exists(XOOPS_ROOT_PATH..../english/main.php") ) {<br />
include_once XOOPS_ROOT_PATH..../english/main.php";<br />
}<br />
}<br />
require_once XOOPS_TRUST_PATH."/libs/altsys/class/D3LanguageManager.class.php" ;<br />
$langman =& D3LanguageManager::getInstance() ;<br />
$langman->read( "main.php" , $xoopsModule->getVar("dirname") ) ;</code>

このように表示されます。実際には if{} までは、取り消し線が表示されている状態ですが、この表示が出ているということは、機能が有効ではないということだと考えます。

そこで、hackをかけてみるのですが、おそらく内部エラーが出ているようで、画面が表示されなくなってしまう現象に当たります。

ですので、もし、言語定数管理機能を有効にできていないということであれば、今解決すべき問題は、言語定数管理機能を有効にできるかどうかが鍵になるということになりそうです。

この問題を解決するためにはしばらく時間がかかりそうなので、ポイントがはっきりしたところで、このスレッドは一度閉じようと思います。

状況をこのように読んでいますが、いかがでしょうか?

ポイントがずれているために表示を変えられないのかと思っていましたが、どうもそういうことではなさそうな気がします…