XPressME Integration Kit

フォーラム

「最近の記事内容」が表示しません。

永らくありがとうございました フォーラム インストール 「最近の記事内容」が表示しません。

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

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

    匿名

    テストサイトで Ver.2.2.1 にアップデートし、

    バッチリOKでしでしたので。

    ほんちゃんサイトにてインストールすると

    トップページに設定した「最近の記事内容」ブロック内容が

    全く表示致しません

    モジュールページ内やコントロールページ内の各種動作は問題ないです。

    なぜでしょ~~~??

    ちなみに ブロックチャックし、手順通りしても表示内容は変わりません。

    (ほんちゃんサイト、テストサイトともに)


    ブロックチェック

    Check xpress block table

    最近の記事内容: OK

     最近の記事: OK

     人気記事リスト: OK

     ページ: OK

     最近のコメント: OK

     サイドバー: OK

     検索: OK

     カレンダー: OK

     アーカイブ: OK

     投稿者: OK

     カテゴリー: OK

     メタ情報: OK

     拡張ブロック: not exist in block table

    異常ブロックがあります。

    以下の手順に従ってブロックを修正してください。

    ステップ 1 :

         注意: モジュールのブロックがデータベースから削除されます。

    ステップ 2 : モジュールをアップデートして、ブロックを再構築します。

         リサブログ モジュールアップデートへ

    ステップ 3 : ブロックの配置とアクセス権限を再設定します。

         リサブログ ブロック権限の設定へ


    ※「異常ブロックがあります。」は消えません。

    以下も ほんちゃんサイト、テストサイトともに同じです。

    ******** システム情報********

    SERVER: Apache/2.2.9 (Fedora)

    PHP Version: 5.2.6

    libxml Version: 2.6.32

    MySQL Version: 5.0.45

    XOOPS Version: XOOPS JPEx 1.6

    XPressME Version: 2.21

    WordPress Version: 2.0.11-ME

    WP DB Version: 3441

    safemode: OFF

    register_globals: OFF

    magic_quotes_gpc: OFF

    XML extension: ON

    default memory_limit: 32M

    change memory_limit: 64M

    post_max_size: 8M

    upload_max_filesize: 2M

    display_errors: OFF

    MB extension: ON

    mbstring.language: Japanese

    mbstring.encoding_translation: OFF

    mbstring.internal_encoding: EUC-JP

    mbstring.http_input: pass

    mbstring.http_output: pass

    mbstring.detect_order:

    mbstring.substitute_character:

    mbstring.func_overload: OFF

    ******** XPressMEがXOOPSより取得した設定値********

    XOOPS_ROOT_PATH: OK

    XOOPS_TRUST_PATH: OK

    XOOPS_URL: OK

    XOOPS_SALT: ERROR

    XOOPS_DB_HOST: OK

    XOOPS_DB_USER: OK

    XOOPS_DB_PASS: OK

    XOOPS_DB_NAME: OK

    XOOPS_DB_PREFIX: OK

    ******** WordPressで使用中のプラグイン********

    Akismet: Version 2.1.4: (http://akismet.com/)

    Dean’s FCKEditor For WordPress: Version 1.4: (http://www.deanlee.cn/wordpress/fckeditor-for-wordpress-plugin/)

    WordPress Database Backup: Version 2.1.5: (http://www.ilfilosofo.com/blog/wp-db-backup)

    WP-PageNavi: Version 2.03: (http://www.lesterchan.net/portfolio/programming.php)

    Plugin for XPressME: Version 1.0: (http://ja.xpressme.info)

    ******** ブロックステータス********

     最近の記事内容: OK

     最近の記事: OK

     人気記事リスト: OK

     ページ: OK

     最近のコメント: OK

     サイドバー: OK

     検索: OK

     カレンダー: OK

     アーカイブ: OK

     投稿者: OK

     カテゴリー: OK

     メタ情報: OK

     拡張ブロック: not exist in block table

    ******** ユーザーメタ情報********

    ユーザーメタキーは正常です

    #3035

    toemon
    キーマスター

    ozakiさんこんにちは、

    トップページに設定した「最近の記事内容」ブロック内容が

    全く表示致しません。

    最近の記事内容に対するブロックのアクセス権限を確認いただけないでしょうか?

    拡張ブロック: not exist in block table

    については、アップデート時に「Non Defined Block 拡張ブロック will be deleted」のメッセージを吐き削除されてしまっているようです。

    こちら、まだ原因が判っていません。 引き続き調査します。

    #3036

    toemon
    キーマスター

    拡張ブロック: not exist in block table

    の件ですが、

    WP2011とJPex1.6の組み合わせの場合、

    アップデート時に、ブロック数と、ファンクションNoが合わずに最後の方に定義してある。拡張ブロックが削除されてしまっていました。

    モジュールトップにありますxoops_version.phpの

    258行目

    <code>$b_no++;<br />
    if (wp_version_compare($wp_version, '>=','2.3')){</code>

    <code>if (wp_version_compare($wp_version, '>=','2.3')){<br />
    $b_no++;</code>

    293行目

    <code>$b_no++;<br />
    if (wp_version_compare($wp_version, '>=','2.7')){</code>

    <code>if (wp_version_compare($wp_version, '>=','2.7')){<br />
    $b_no++;</code>

    に変更後、

    アップデート

    ブロックチェックでブロックを削除、

    再アップデート、

    ブロック配置、アクセス権の再定義をおこなってください。

    このバグにつきましては、チケット278に登録し、チェンジセット501にて修正させていただきました。

    #3037

    匿名

    ありがとうございます。

    “拡張ブロック: not exist in block table”の件は解決致しました。

    トップページに設定した「最近の記事内容」ブロック内容が表示しない件ですが、

    (アクセス権限などは問題ありません)

    このほんちゃんサイトの使用状況ですが、

    インストール後非表示にし、以前のブログ「のぶのぶさんのWordPressと

    d3blogをそれぞれRSSファイルとして書き出し、EUCへ変換後、XPressMEへ

    インポートしたのですが、いくつもの文字列が途中で切れていました。

    ※もしかしてこの不完全な取り込みが原因かもしれません。

    なにかヒントを頂けないでしょうか?

    #3038

    toemon
    キーマスター

    お疲れ様です。

    トップページに設定した「最近の記事内容」ブロック内容が表示しない件、

    問合せの内容に近い環境

    SERVER::Apache/2.2.9 (Win32) DAV/2 mod_ssl/2.2.9 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.6

    PHP Version::5.2.6

    libxml Version::2.6.32

    MySQL Version::5.0.67-community

    XOOPS Version::XOOPS JPEx 1.6

    XPressME Version::2.21

    WordPress Version::2.0.11-ME

    WP DB Version::3441

    safemode:OFF

    register_globals:OFF

    magic_quotes_gpc:ON

    XML extension:ON

    default memory_limit:16M

    change memory_limit:64M

    post_max_size:16M

    upload_max_filesize:32M

    display_errors:ON

    MB extension:ON

    mbstring.language:japanese

    mbstring.encoding_translation:OFF

    mbstring.internal_encoding:EUC-JP

    mbstring.http_input:pass

    mbstring.http_output:pass

    mbstring.detect_order:

    mbstring.substitute_character:

    mbstring.func_overload:OFF

    にて確認しましたが、問題はないようです

    確認していただきたいこと、

    • 「最近の記事内容」ブロック内容が表示しないというのは、ブロック自体は表示するが、コンテンツが表示されないということでしょうか?
    • 「最近の記事内容」ブロックをモジュール内に配置したとき、正しく表示されますか?
    • XOOPSのcacheディレクトリは書き込み可能ですか?
    • XOOPSのcacheディレクトリ内に***_recent_posts_content_block***.xmlというxmlファイルは作成されていますか?

    以上確認の上、問題がなければ、***_recent_posts_content_block***.xmlファイルを添付の上、問合せフォームよりメールください。

    #3039

    toemon
    キーマスター

    • 「最近の記事内容」ブロック内容が表示しないというのは、ブロック自体は表示するが、コンテンツが表示されないということでしょうか?
    • 「最近の記事内容」ブロックをモジュール内に配置したとき、正しく表示されますか?
    • XOOPSのcacheディレクトリは書き込み可能ですか?
    • XOOPSのcacheディレクトリ内に***_recent_posts_content_block***.xmlというxmlファイルは作成されていますか?

    に問題はないということでxmlファイルを送付いただきました。

    まだ、xmlの確認はとれていませんが、

    先に、他のブロックについても、同様の現象(トップページに配置するとブロック内の内容が表示されない)になるのか、確認お願いいたします。

    #3040

    匿名

    はい、その他ブロックは自由に配置/表示可能です。

    「最近の記事内容」ブロックのみトップページでは、

    タイトル名とボックス枠のみ表示し、内容は表示されません。

    ブラウザーでの表示ソースを見ても内容がありません。

    (“***_recent_posts_content_block***.xml”には内容が含まれています。)

    #3041

    toemon
    キーマスター

    なるほど、「最近の記事内容」ブロックのみの問題ということですね。

    先の質問で、モジュール内に「最近の記事内容」ブロックを表示させたときはOKとのことでしたので、

    テンプレートの問題でもなさそうですし、

    モジュール外に配置したブロックはキャッシュのxmlを使ってテンプレートにassignするというのは、すべてのブロックで共通なので、キャッシュがある以上「最近の記事内容」ブロックのみ表示できないというのも、解せないですし、

    送付いただいたxmlもパッと見では、問題なさそうなのですが、一度このxmlでブロック表示できるか確認することにします。

    #3042

    toemon
    キーマスター

    送付いただいたxmlファイルをXML_Unserializerに喰わせてみるとPHP5の環境では

    Warning

    
    
    : xml_parse() [function.xml-parse]: input conversion failed due to input error, bytes 0x8F 0xA1 0xC1 0x31 in file xml.php line 106

    が発生していました。

    要するにパース出来ない文字コード(0x8F 0xA1 0xC1 0x31)があるのでやめちゃったよ、みたいな感じですね。orz

    文字コード(0x8F 0xA1 0xC1 0x31)については、よくわかりませんが、

    問題のxmlファイルをエディタで開きそのまま、上書き保存すると、この現象は発生しませんので、

    データ移行の際のRSS読み取り、コード変換のいずれかの時点で紛れ込んだコードかもしれません。

    PHP5のXMLは、EUC-JPベースのXMLをXML_Unserializerすると、結果をわざわざUTF-8で返したり、パース出来ない文字コードがあると、処理をやめたり、

    どうも喰わせ物みたいです。そんなに、EUC-JPを毛嫌いしないでも・・・ (T_T)

    そこで、XMLデータがEUCベースでかつPHP5以上の場合は、

    1 XMLデータのXML宣言部分の文字コード宣言をEUC-JPからUTF-8に置換え

    2 XMLデータをEUC-JP->UTF-8変換

    3 XML_Unserializer処理

    4 UnserializeされたデータをUTF-8->EUC-JP変換

    の処理を行うことで回避することにしました。

    具体的にはinclude/xpress_block_render.phpの22行目あたりからの

    <code>function xpress_block_cache_read($mydirname,$block_name)<br />
    {<br />
    $xml_name = $block_name . '.xml';<br />
    $xml_data = xpress_cache_read($mydirname,$xml_name);<br />
    <br />
    $GLOBALS['DO_LIBXML_PATCH'] = get_xpress_mod_config($mydirname,'libxml_patch');<br />
    <br />
    $ret = @xpress_XML_unserialize($xml_data);<br />
    if (strstr($xml_data, '<?xml version="1.0" encoding="EUC-JP" ?>') !== false){<br />
    if (version_compare(PHP_VERSION, '5.0.0', '>')) {<br />
    $ans = mb_convert_variables('EUC-JP' , 'UTF-8', &$ret); //xpress_XML_unserialize() Return UTF-8 at PHP5<br />
    }<br />
    }<br />
    return $ret;<br />
    }</code>

    の部分を

    <code>function xpress_block_cache_read($mydirname,$block_name)<br />
    {<br />
    $xml_name = $block_name . '.xml';<br />
    $xml_data = xpress_cache_read($mydirname,$xml_name);<br />
    <br />
    $GLOBALS['DO_LIBXML_PATCH'] = get_xpress_mod_config($mydirname,'libxml_patch');<br />
    <br />
    if ( strstr($xml_data, '<?xml version="1.0" encoding="EUC-JP" ?>') !== false<br />
    && version_compare(PHP_VERSION, '5.0.0', '>') )<br />
    {<br />
    $xml_data = str_replace('<?xml version="1.0" encoding="EUC-JP" ?>', '<?xml version="1.0" encoding="UTF-8" ?>', $xml_data);<br />
    $ans = mb_convert_variables('UTF-8' , 'EUC-JP', &$xml_data); //EUC-JP to UTF-8<br />
    $ret = @xpress_XML_unserialize($xml_data);<br />
    $ans = mb_convert_variables('EUC-JP' , 'UTF-8', &$ret); //UTF-8 to EUC-JP<br />
    } else {<br />
    $ret = xpress_XML_unserialize($xml_data);<br />
    }<br />
    return $ret;<br />
    }</code>

    に変更することで、解決されると思います。

    #3043

    toemon
    キーマスター

    上記の対策で解決できるかとは思いますが、

    文字コード(0x8F 0xA1 0xC1 0x31)については、よくわかりませんが、

    問題のxmlファイルをエディタで開きそのまま、上書き保存すると、この現象は発生しませんので、

    データ移行の際のRSS読み取り、コード変換のいずれかの時点で紛れ込んだコードかもしれません。

    のところもう少し詳しく調べてみました。

    EmEditorで上書き保存したものと、上書き保存しする前のデータをExamDiff Proでバイナリーレベルでの比較を行ってみた結果、

    記事 「真相報道 バンキシャ!誤報」検証番組から の本文

    「08月24日(月) 0:50�1:30 何でこんな時間に・・・」

    部分にある�の部分でエラーが発生していることが判りました。

    「0:50�1:30」はozakiさんのサイトで確認させていただいた表記です。

    XMLファイルをEmEdirorで見たときは「0:50潤`1:30」となってます

    参考、該当部分のExamDiff Proでの表記

    上書き前 「0:50升チ1:30」

    上書き後 「0:50ス畫1:30」

    元データがどのようなものか判りませんが、ご参考まで

    #3044

    匿名

    ありがとうございます。

    表示することができました。

    m(_ _)m

    RSSファイルの取り込みをもっと「詳細に確認」しながらやるべきでした。

    「反省」(T_T)

    お手数をお掛けし、本当にありがとうございました。

    #3045

    toemon
    キーマスター

    確認ありがとうございました。

    修正内容をサイトにて確認させていただきましたが、「~」が化けていたみたいですね。

    「最近の記事内容」ブロックのみトップページでは、

    タイトル名とボックス枠のみ表示し、内容は表示されません。

    この問題に対する対策は、

    チケット279に登録、チェンジセット502にて修正されました。

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

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