XPressME Integration Kit

フォーラム

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

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

このトピックには6件の返信が含まれ、2人の参加者がいます。8 年、 8 ヶ月前 匿名 さんが最後の更新を行いました。

7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • 投稿者
    投稿
  • #2672

    匿名

    お世話になります。

    <img src=”http://ja.xpressme.info/wp-content/uploads/2009/04/main_menu_xpressme_setting_select.png” alt=”画面” />

    ここの表示で、

    『WordPress管理』

    『XPressME設定』

    などの表示を変える方法を探してみたのですが、見つけることができませんでした。

    たとえば、

    『WordPress管理』->『ブログ管理』

    『XPressME設定』->『拡張設定』

    のように変えたい場合、どのあたりに手を入れる必要があるのでしょうか?

    modinfo.php は変えてみたのですが、サブメニューへの影響は出ませんでした。

    こちらが試行錯誤した内容が、言葉足らずかもしれませんが、何かヒントがあればと思います。何卒よろしくお願いします。

    #3250

    toemon
    キーマスター

    xpla360さんこんにちは、XPressMEのご利用ありがとうございます。

    ご質問の件ですが、

    modinfo.php は変えてみたのですが、サブメニューへの影響は出ませんでした。

    language/ja_utf8/modinfo.php(UTF-8での運用の場合)の

    <code>// Sub menu titles<br />
    define("_MI_XP2_MENU_POST_NEW","新規投稿");<br />
    define("_MI_XP2_MENU_EDIT","編集");<br />
    define("_MI_XP2_MENU_ADMIN","WordPress管理");<br />
    define("_MI_XP2_MENU_XPRESS","XPressME設定");<br />
    define("_MI_XP2_MENU_TO_MODULE","モジュールへ");<br />
    define("_MI_XP2_TO_UPDATE","アップデート");</code>

    の部分を変更すれば適応されるはずなのですが・・・

    あと、modinfo.phpを直接変更された場合は、モジュールのアップデート等により上書きされもとに戻ってしまうことがありますので、

    altsysをお使いで言語オーバライドを有効に設定されて、あるのであればaltsysの、「言語定数管理」でオーバライドしておくほうが便利です。

    #3251

    匿名

    toemonさま

    いつもお世話になっております。また、XPressME Integration Kit という大変すばらしいプログラムをご提供いただきまして、本当にありがとうございます。

    さて、引っかかっている点ですが、やはり思うような結果が得られませんでした。

    modinfo.php を再度見直しましたが、うまく反映されず、ご指摘のように上書きを防ぐため、altsys の方でもやってみましたが、反映されませんでした。

    (altsysも、もともと導入していて、前回も試してみたのですがだめでした)

    ちなみに、質問内容がずれるかもしれませんが、altsysの「言語オーバライドを有効」というのは、何か特別な操作をする必要があるのでしょうか?

    また、その他に考えられるチェックポイントなどがあれば教えていただきたく思います。

    念のためシステム情報も載せました。

    お手数をおかけしますが、何卒よろしくお願いします。

    <code>******** システム情報********<br />
    SERVER: Microsoft-IIS/6.0<br />
    PHP Version: 5.2.9-2<br />
    libxml Version: 2.7.3<br />
    MySQL Version: 5.0.83-community<br />
    XOOPS Version: XOOPS 2.4.4<br />
    XPressME Version: 2.39<br />
    WordPress Version: 3.1<br />
    WP DB Version: 17056<br />
    <br />
    safemode: OFF<br />
    register_globals: OFF<br />
    allow_url_fopen: ON<br />
    magic_quotes_gpc: OFF<br />
    XML extension: ON<br />
    default memory_limit: 128M<br />
    change memory_limit: 128M<br />
    post_max_size: 10M<br />
    upload_max_filesize: 10M<br />
    display_errors: OFF<br />
    MB extension: ON<br />
    mbstring.language: neutral<br />
    mbstring.encoding_translation: OFF<br />
    mbstring.internal_encoding:<br />
    mbstring.http_input: pass<br />
    mbstring.http_output: pass<br />
    mbstring.detect_order:<br />
    mbstring.substitute_character:<br />
    mbstring.func_overload: OFF<br />
    <br />
    ******** XPressMEがXOOPSより取得した設定値********<br />
    XOOPS_ROOT_PATH: OK<br />
    XOOPS_TRUST_PATH: OK<br />
    XOOPS_URL: OK<br />
    XOOPS_DB_HOST: OK<br />
    XOOPS_DB_USER: OK<br />
    XOOPS_DB_PASS: OK<br />
    XOOPS_DB_NAME: OK<br />
    XOOPS_DB_PREFIX: OK<br />
    <br />
    ******** WordPressで使用中のプラグイン********<br />
    Akismet: Version 2.5.3: (http://akismet.com/)<br />
    Category Limitation: Version 1.1: (http://www.is-p.cc/wordpress/plug-in/category-limit/364)<br />
    Kahi's WP Lite: Version 0.9: (http://kahi.cz/wordpress/wp-lite-plugin/)<br />
    Plugin for XPressME: Version 1.0: (http://ja.xpressme.info)<br />
    <br />
    ******** ブロックステータス********<br />
     最近の記事内容: OK<br />
     最近の記事: OK<br />
     人気記事リスト: OK<br />
     ページ: OK<br />
     最近のコメント: OK<br />
     サイドバー: OK<br />
     検索: OK<br />
     カレンダー: OK<br />
     アーカイブ: OK<br />
     投稿者: OK<br />
     タグクラウド: OK<br />
     カテゴリー: OK<br />
     メタ情報: OK<br />
     ウィジェット: OK<br />
     拡張ブロック: OK<br />
    <br />
    ******** ブロックオプション********<br />
    最近の記事内容 : recommend||10|0|100||||0|0|0<br />
    最近の記事 : recommend||10|1|7||||0<br />
    人気記事リスト : recommend||10|0||||0<br />
    ページ : recommend||post_title|asc||||0|0|none||1||<br />
    最近のコメント : recommend||10|30|||0<br />
    サイドバー :<br />
    検索 : recommend||18<br />
    カレンダー : recommend||#DB0000|#004D99<br />
    アーカイブ : recommend||monthly|0|1|0<br />
    投稿者 : recommend||0|1|0|1<br />
    タグクラウド : recommend||8|22|pt|45|flat|name|ASC||<br />
    カテゴリー : recommend||ALL|name|ASC|0|0|1|1|||1|0<br />
    メタ情報 : recommend||1|1|1|1|1|1|1|1<br />
    ウィジェット : recommend||1|<br />
    拡張ブロック : recommend||<br />
    <br />
    ******** グループ権限********<br />
    : (module_admin) : administrator(No) :<br />
    登録ユーザー : (module_read) : inhibit register(Yes) :<br />
    Recommendユーザー : (module_read) : author(Yes) :<br />
    <br />
    ******** ユーザーメタ情報********<br />
    ユーザーメタキーは正常です<br />
    <br />
    ******** JIG Recommendation統計********<br />
    カテゴリー数: 5<br />
    記事数: 13<br />
    投稿者数: 3</code>

    #3252

    toemon
    キーマスター

    システム情報をありがとうございます。(これがあるとわかりやすいです)

    で、すみません。XCLでの確認だけでXOOPS2.4では確認してませんでした。

    今、手元に開発環境がないので、あれなんですが、

    念のためにブラウザのキャッシュのクリアや、templates_c に保存されているキャッシュのクリアをおこなってみてもらえないでしょうか?

    ちなみに、質問内容がずれるかもしれませんが、altsysの「言語オーバライドを有効」というのは、何か特別な操作をする必要があるのでしょうか?

    ALTSYSの言語定数管理を開いて画面下に

    <code>The overriding system cannot work with this XOOPS core except some D3 modules. If you want to enable it with this core, try to hack like this:<br />
    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>

    みたいな感じで(言語が英語ですみません)include/common.phpの修正を促すメッセージが出ていれば未対応ということになります。

    対応していれば、「言語オーバラードに対応しています。」みたいなメッセージが表示されていたと思います。

    #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をかけてみるのですが、おそらく内部エラーが出ているようで、画面が表示されなくなってしまう現象に当たります。

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

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

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

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

    #3254

    toemon
    キーマスター

    XOOPS2.4.5での確認を行ってみました。

    結果としてはmodinfo.phpの変更で素直にサブメニューが変更されました。

    XOOPS2.4から日本語に関する仕様が変わっていますが(詳細はこちらを参照)

    この仕様への対応としてはXPressMEのlanguage/japanese(EUC)は破棄して、

    language/ja_utf8(UTF8) をjapaneseに名前変更あるいはコピー名前変更して使うことになりますが、

    もしかして、XOOPS側の言語選択がjapaneseになっているにも関わらず、ja_utf8側を変更しているということはないですか?

    それが問題ないようでしたら、modinfo.phpを改変後、モジュールをアップデートしてみるとか

    あと、altsysの言語定数管理用のコアハックの件ですが

    コアのアップグレードの事を考えると、include/common.phpをハックするより

    mainfile.phpの

    include XOOPS_ROOT_PATH.”/include/common.php”;

    を行っている後に

    <code>$d3lang_class_path = XOOPS_TRUST_PATH."/libs/altsys/class/D3LanguageManager.class.php";<br />
    if ( isset($xoopsModule) && file_exists($d3lang_class_path) ) {<br />
    require_once $d3lang_class_path ;<br />
    $langman =& D3LanguageManager::getInstance() ;<br />
    $langman->read( "modinfo.php", $xoopsModule->dirname()) ;<br />
    }</code>

    を付け加えてあげれば、先にAltsysの言語定数キャッシュを読みに行くようになります。

    mainfile.php修正結果例

    <code>if (!isset($xoopsOption["nocommon"]) && XOOPS_ROOT_PATH != "") {<br />
    include XOOPS_ROOT_PATH."/include/common.php";<br />
    $d3lang_class_path = XOOPS_TRUST_PATH."/libs/altsys/class/D3LanguageManager.class.php";<br />
      if ( isset($xoopsModule) && file_exists($d3lang_class_path) ) {<br />
    require_once $d3lang_class_path ;<br />
    $langman =& D3LanguageManager::getInstance() ;<br />
    $langman->read( "modinfo.php", $xoopsModule->dirname()) ;<br />
      }<br />
    }</code>

    この例では、モジュールの言語ファイルmodinfo.phpのみを対象としていますが、

    必要なだけ、$langman->read()すればよいと思います。

    Altsys言語定数管理画面の下に表示される

    「言語ファイルオーバーライドシステム・・・」とかいう表示はXCLかそうでないかで切り分けているみたいですので、上記のハックを行っても消える訳ではありません。

    #3255

    匿名

    toemonさま

    お世話になっております。

    また、わざわざ XOOPS2.4.5 で再現までしてくださいまして、誠にありがとうございます。

    結論から申しますと、mainfile.php の修正で機能しました。

    modinfo.php の修正に関しましては、機能しない理由がよく分からないままです。確かに、UTF-8で動かしていますので、UTF-8対応のあたりで不具合があるのかもしれません…。

    しかしながら、アップデートなどのメンテナンスを考えると mainfile.php に修正を加える方法が、今回の解決策としても最善の策だと思いました。

    今回は、完全な解決となりますので、解決済みとさせていただきます。

    お力添えいただきました toemon様 誠にありがとうございました。

    今後とも何卒よろしくお願いします。

7件の投稿を表示中 - 1 - 7件目 (全7件中)

このトピックに返信するにはログインが必要です。