2022/01/25 14:34 JST

Geeklog Japan Forums

スラッシュが消えた!?

ページナビゲーション


状態: オフライン

mystral-kk

Site Admin
Admin
登録日: 2006/03/23
投稿数: 1022
場所:福岡県
Quote by: kuromystral-kkさん、いろいろ調べていただいて本当に有り難うございます。 lib-common.phpを変更してみたら、 http://toshi-kouen.jp/ This page contains the following errors: error on line 43 at column 1031: Opening and ending tag mismatch: meta line 0 and head Below is a rendering of the page up to the first error. というエラーが…

lib-common.phpの修正はハズレだったようで、申し訳ありません。実は、手元のノートPCにインストールしているGeeklog-1.6.1のProfessionalCSSでは閉じタグが /> になるのですが、自分のサイトで試してみると、XHTMLになりません。不思議な現象で自分でも戸惑っています。


-- mystral-kk, "Every cloud has a silver lining."

状態: オフライン

kuro

Forum User
Active Member
登録日: 2010/03/10
投稿数: 445
mystral-kkさん、ほんとに有り難うございます。 Geeklogの制作実例を色々見ていたんですが、 HTML4.0でも、「/」が入ってたり、入ってなかったり、いろいろですね。 これって、プラグインとかテンプレートのカスタマイズで結構左右されてるってことなんでしょうか? 再インストールするかどうかはまだ決めてないんですが、なんとなく、してもまたなりそうな予感が…

状態: オフライン

kuro

Forum User
Active Member
登録日: 2010/03/10
投稿数: 445
すいません、まだ引きずってます Mr. Green lib-common.phpを見てたら、 303行目あたりに
PHP Formatted Code

/**
* ensure XHTML constant is defined to avoid problems elsewhere
*/

if (!defined('XHTML')) {
    switch ($_CONF['doctype']) {
    case 'xhtml10transitional':
    case 'xhtml10strict':
        define('XHTML', ' /');
        break;

    default:
        /**
        * @ignore
        */

        define('XHTML', '');
        break;
    }
}
 
ここで、XHTMLの場合、「/」を付けるのを定義してるのでは? ここの2度目(317行目あたり)の
PHP Formatted Code

        define('XHTML', '');
 
PHP Formatted Code

        define('XHTML', ' /');
 
に変えれば、強制的ですけど、「/」付くのかも…

状態: オフライン

kuro

Forum User
Active Member
登録日: 2010/03/10
投稿数: 445
このGeeklog Japaneseサイトと自分のサイトのHTMLソースを見比べると 「/」がない他にも、
PHP Formatted Code

<html xml:lang="ja-JP" lang="ja-JP" xmlns="http://www.w3.org/1999/xhtml">
 
PHP Formatted Code

xmlns="http://www.w3.org/1999/xhtml"
 
がないことに今気がつきました。 /公開領域/lib-common.phpを見ると、 892行目で
PHP Formatted Code

    $header->set_var('xhtml', XHTML);
    if (XHTML == '') {
        $header->set_var('xmlns', '');
    } else {
        $header->set_var('xmlns', ' xmlns="http://www.w3.org/1999/xhtml"');
    }
 
となってます。 つまり、XHTMLに何も入っていない・・・XHTMLと見なされてない!? Wink DBを見ると'doctype'は「xhtml10transitional」になってるんだけどなぁ…

状態: オフライン

mystral-kk

Site Admin
Admin
登録日: 2006/03/23
投稿数: 1022
場所:福岡県

原因が判明しました。拙作のRSSAggregatorの先頭でXHTML定数を定義しているのが問題でした。非公開領域/system/custom/phpblock_aggregator.phpの先頭に

PHP Formatted Code

if (!defined('XHTML')) {
    define('XHTML', '');
}
 

という3行があるので、これをコメントアウトして、

PHP Formatted Code

//if (!defined('XHTML')) {
//    define('XHTML', '');
//}
 

としてください。ご迷惑をおかけして申し訳ありません。m(_ _)m


-- mystral-kk, "Every cloud has a silver lining."

状態: オフライン

kuro

Forum User
Active Member
登録日: 2010/03/10
投稿数: 445
mystral-kkさん、 直りましたよぉ!!! LOL ずっと考えててくれたんですか!! 本当に有り難うございました!!! 助かりましたぁ!!

状態: オフライン

Ivy

Site Admin
Admin
登録日: 2004/01/01
投稿数: 5974
場所:Tokyo
mystral-kkさん、 phpblock_lastarticles.phpやphpblock_themetester.phpの
PHP Formatted Code
        if (!defined('XHTML')) {
                define('XHTML', '');
        }
は、どうなのでしょうか。

状態: オフライン

mystral-kk

Site Admin
Admin
登録日: 2006/03/23
投稿数: 1022
場所:福岡県
Quote by: Ivymystral-kkさん、 phpblock_lastarticles.phpやphpblock_themetester.phpの
PHP Formatted Code
        if (!defined('XHTML')) {
                define('XHTML', '');
        }
は、どうなのでしょうか。

自分のサイトには書いたのですが、lib-custom.phpで読み込んでいるカスタム関数・phpblock関数でXHTML定数を定義するとこのバグが発生します。したがって、どちらのファイルも修正する必要があります。


-- mystral-kk, "Every cloud has a silver lining."

状態: オフライン

mystral-kk

Site Admin
Admin
登録日: 2006/03/23
投稿数: 1022
場所:福岡県

前言撤回。この2つの関数は関数内でXHTML定数を定義しているので、問題ありません。RSSAggregatorで問題が起こったのは、トップレベルでXHTML定数を定義しているため、ファイルがインクルードされた時点で、定数の定義が有効になるからでした。


-- mystral-kk, "Every cloud has a silver lining."

状態: オフライン

Ivy

Site Admin
Admin
登録日: 2004/01/01
投稿数: 5974
場所:Tokyo
そうでしたか! それらは拡張版に含まれるもので、すでに多くのサイトで活用中で、 問題がでているわけではありませんでした。

ページナビゲーション

時刻はすべて JST , 現在の時刻は 02:34 PM

  • 通常
  • 注目トピック
  • ロック済
  • 新着
  • 注目トピック 新着
  • ロック済トピック 新着
  •  ゲストユーザの投稿を見る
  •  投稿可能
  •  一部のHTMLを許可
  •  バッドワードをチェック