件名: スラッシュが消えた!?

投稿日: 2010/04/22 11:39
投稿者: kuro

いつもお世話になります。 記事のテンプレートをいじろうと、ソースをDreamweaverにコピーしてみると、 metaタグなどの終了タグ?「/>」が消えてしまいました。 消えたのは、header部分。最初はあったと思うのですが… header.thtmlを見てみると、{xhtml}とちゃんと入ってますし… 何度アップロードしてもダメなんです。 コンフィグレーションでも、XHTML transitionalになってるし、 何が原因なのか…毎度毎度、ほんとにすいませんが、 ご教授願います。

書込: スラッシュが消えた!?

投稿日: 2010/04/22 13:45
投稿者: kuro

何度もすいません。 どうやら、headerだけではなく、ページ全てのhrタグなどもそうですね。 最後の「/」スラッシュが抜け落ちてます。 ということは、header.thtmlではなく、その大本…が原因なのか??? Cry

書込: スラッシュが消えた!?

投稿日: 2010/04/22 13:49
投稿者: Ivy

どのテーマでスラッシュがない、でしょうか。 すべて無い、という状況でしょうか。 コンフィギュレーションで、テーマの設定はxhtmlを選んでいるでしょうか。 メタタグだけスラッシュが無い でしょうか。 コンフィギュレーションで、メタタグは有効になっているでしょうか。

書込: スラッシュが消えた!?

投稿日: 2010/04/22 14:00
投稿者: kuro

Ivyさん、いつも有り難うございます。 説明が足りませんでしたね。申し訳ないです。 テーマはProfessionalCSSです。 meta、link、hr、br、imgなど、閉じタグのない一行完結のタグは全てで「/」が無くなってます。 コンフィグレーションでも、テーマはProfessionalCSSで、 DOCTYPE宣言は「XHTML1.0 Transitional」です。 Geeklog1.6.1です。

書込: スラッシュが消えた!?

投稿日: 2010/04/22 14:20
投稿者: Ivy

日本語化プラグインは実行済みでしょうか。 ヘッダの、トップ5~6行がどう表示されているか,

書込: スラッシュが消えた!?

投稿日: 2010/04/22 14:33
投稿者: kuro

Ivyさん、有り難うございます。
日本語化プラグインは実行済みでしょうか。
「投稿管理」の「Japanize」で「日本語化一括実行」というのをやってみましたが、結果は同じでした。
ヘッダの、トップ5~6行がどう表示されているか,
PHP Formatted Code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="ja-JP" lang="ja-JP">
<head profile="http://www.w3.org/2003/g/data-view">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>都市公園管理共同体ポータル - 大阪府の5つの公園のポータルサイト</title>
 
HTMLソースはこんな感じです。

書込: スラッシュが消えた!?

投稿日: 2010/04/22 14:37
投稿者: Ivy

ProfessionalCSSのバージョンは1.6配布時のものでしょうか。 ProfessionalCSSのheader.thtmlは
PHP Formatted Code
{doctype}
<html{html_attribute}{xmlns}>
<head profile="http://www.w3.org/2003/g/data-view">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"{xhtml}>
    <title>{page_title_and_site_name}</title>
となっているでしょうか。

書込: スラッシュが消えた!?

投稿日: 2010/04/22 14:58
投稿者: kuro

PHP Formatted Code

{doctype}
<html{html_attribute}{xmlns}>
<head profile="http://www.w3.org/2003/g/data-view">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"{xhtml}>
    <title>{page_title_and_site_name}</title>
 
以上がheader.thtmlです。同じですよね。 1.6.1拡張版をインストーラーでインストールしました。

書込: スラッシュが消えた!?

投稿日: 2010/04/22 15:10
投稿者: Ivy

どうも、わからないですね。 スラッシュが最初あったのに消えた? それとも、気がついたらなかった? コンフィギュレーションで、テーマのモードを、4タイプ xhtml html strict transitional、全部で試して、どうなるでしょうか。 サーバには、ファイルは古いものがまざっている可能性は一切ないでしょうか。 lib-common.phpも最新でしょうか。

書込: スラッシュが消えた!?

投稿日: 2010/04/22 16:02
投稿者: kuro

Ivyさん、有り難うございます。 最初あったとは思いますが…いや、 気がついたらなかったと言ったほうがいいですね。 lib-common.phpはインストールしてからいじってないと思います。 いろんなプラグイン?アドオン?を入れていってるので、その過程でどうにかなってしまったのか…? コンフィギュレーションはこれから試してみます。

書込: スラッシュが消えた!?

投稿日: 2010/04/22 16:08
投稿者: kuro

Ivyさん、いつも有り難うございます。 コンフィギュレーションで4つのモードを試しましたが、 変わりませんでした。 Cry ちなみにURLはこれです。 http://toshi-kouen.jp

書込: スラッシュが消えた!?

投稿日: 2010/04/22 16:14
投稿者: kuro

あ…metaタグ有効にしてるのに、 keywordとか、descriptionが表示されてないっ!!

書込: スラッシュが消えた!?

投稿日: 2010/04/22 16:19
投稿者: Ivy

一度、/admin/install/ を復活させて、 /admin/install/precheck.php を実行させてみてください。チェックだけ。 文字コードでエラーが起きていないかどうか・・・ あるいは、接頭子を変更してもういっかいインストールしなおして、動作確認とか・・・ サーバはどちらでしょうか。 PHP MySQLのバージョンは5以上でしょうか。

書込: スラッシュが消えた!?

投稿日: 2010/04/22 16:33
投稿者: kuro

/admin/install/precheck.phpを表示させて(実行?)みましたが、 「新規インストール」「アップグレード」「移行」と出てきましたけど、 これ押すとまずいですよね… 現状、エラーらしきものは見当たりません。 サーバは、WebARENA SuiteXです。 PHPは5.1.6 MySQLは5.1です。 再インストールもやむなしですか… Cry

書込: スラッシュが消えた!?

投稿日: 2010/04/22 16:39
投稿者: kuro

ちなみに昨日設定した、mobile_XHTMLでは、ちゃんと「/」も表示されて、metaタグのkeywordやdescriptionが反映されてます。

書込: スラッシュが消えた!?

投稿日: 2010/04/22 20:14
投稿者: mystral-kk

Quote by: kuro 記事のテンプレートをいじろうと、ソースをDreamweaverにコピーしてみると、 metaタグなどの終了タグ?「/>」が消えてしまいました。 消えたのは、header部分。最初はあったと思うのですが… header.thtmlを見てみると、{xhtml}とちゃんと入ってますし…

確認ですが、Dreamweaverにコピーする前は閉じタグ{xhtml}はありますか? Dreamweaverにコピーした直後にもその閉じタグはありますか? 自分はDWを使っていないのでよくわからないのですが、DWにコピーした段階で{xhtml}がタグ中の不正な文字列と見なされ、消されているような気がします。


書込: スラッシュが消えた!?

投稿日: 2010/04/22 21:16
投稿者: kuro

mystral-kkさん、有り難うございます。 僕の書き方が分かりにくかったですね。申し訳ないです。 Dreamweaverにソースをコピーというのは、 Geeklogのサイトをブラウザで表示させて、ブラウザのメニューからHTMLソースを表示させ、それを全てコピー&ペーストで、Dreamweaverの新規ファイルのソース欄に貼付けるということです。 それをすることで、スタイルシートの編集がDreamweaver上で出来るので… ブラウザで表示されるHTMLソース自体がすでに「/」が消えてる状態です。 Dreamweaver云々は、いらない説明でしたね。どうも申し訳ないです。 ちなみに今制作中のサイトURLは http://toshi-kouen.jp です。 やっぱりインストールし直すしかないですかね。

書込: スラッシュが消えた!?

投稿日: 2010/04/22 21:48
投稿者: kuro

あれれ・・・自分のもう一つのGeeklog実験サイトも「/」がない! まぁ、同じProfessionalCSSで、入れてるプラグインとかもだいたい同じなんですが。 でも、明らかに違うのはサーバ。こっちは「ロリポップ」です。 http://www.k1factory.biz/geek/

書込: スラッシュが消えた!?

投稿日: 2010/04/22 23:08
投稿者: mystral-kk

あれこれ調べてみましたが、どうもはっきりしません。単にテンプレートの変更だけでなく、公開領域/lib-common.phpの876行目の

PHP Formatted Code

    header('Content-Type: text/html; charset=' . COM_getCharset());
 

PHP Formatted Code

    header('Content-Type: application/xhtml+xml; charset=' . COM_getCharset());
 

に変える必要があるのかもしれません。


書込: スラッシュが消えた!?

投稿日: 2010/04/22 23:24
投稿者: kuro

mystral-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. というエラーが…

書込: スラッシュが消えた!?

投稿日: 2010/04/22 23:37
投稿者: mystral-kk

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になりません。不思議な現象で自分でも戸惑っています。


書込: スラッシュが消えた!?

投稿日: 2010/04/23 00:21
投稿者: kuro

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

書込: スラッシュが消えた!?

投稿日: 2010/04/23 11:55
投稿者: kuro

すいません、まだ引きずってます 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', ' /');
 
に変えれば、強制的ですけど、「/」付くのかも…

書込: スラッシュが消えた!?

投稿日: 2010/04/23 12:57
投稿者: kuro

この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」になってるんだけどなぁ…

書込: スラッシュが消えた!?

投稿日: 2010/04/24 10:27
投稿者: mystral-kk

原因が判明しました。拙作の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


書込: スラッシュが消えた!?

投稿日: 2010/04/24 12:13
投稿者: kuro

mystral-kkさん、 直りましたよぉ!!! LOL ずっと考えててくれたんですか!! 本当に有り難うございました!!! 助かりましたぁ!!

書込: スラッシュが消えた!?

投稿日: 2010/04/24 13:49
投稿者: Ivy

mystral-kkさん、 phpblock_lastarticles.phpやphpblock_themetester.phpの
PHP Formatted Code
        if (!defined('XHTML')) {
                define('XHTML', '');
        }
は、どうなのでしょうか。

書込: スラッシュが消えた!?

投稿日: 2010/04/24 14:28
投稿者: mystral-kk

Quote by: Ivymystral-kkさん、 phpblock_lastarticles.phpやphpblock_themetester.phpの
PHP Formatted Code
        if (!defined('XHTML')) {
                define('XHTML', '');
        }
は、どうなのでしょうか。

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


書込: スラッシュが消えた!?

投稿日: 2010/04/24 14:37
投稿者: mystral-kk

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


書込: スラッシュが消えた!?

投稿日: 2010/04/24 14:39
投稿者: Ivy

そうでしたか! それらは拡張版に含まれるもので、すでに多くのサイトで活用中で、 問題がでているわけではありませんでした。

書込: スラッシュが消えた!?

投稿日: 2010/04/24 16:04
投稿者: Ivy

デバッグする場合は、 まず本体を初期インストールして動作確認。それでも問題が起きるのなら、 1。保存できたりできなかったりというエラーはエンコード関係のエラーです。   サーバのエンコード周辺が問題かどうか、precheck.phpを実行して確認する 2。インストールエラーは、ファイルの展開ミス、FTPアップロードミスを疑ってください。 3。自動インストーラ利用の場合は、パスの指定ミスがほとんどです。パスを確認してください。 本体の初期インストールで問題が無ければ、追加・変更した テーマや、プラグイン、カスタム関数が原因なので、ひとつひとつ確認して調べます。 1。テーマが原因かどうかを、テーマprofessionalに切り替えて動作確認をする 2。プラグインが原因かどうか、無効にする、あるいはアンインストールする 3。カスタム関数・PHPブロック関数が原因かどうか、lib-custom.phpからはずす エラーが起きた場合は、元々のパッケージ初期インストール時にどうだったのか。 その後、どんなテーマ、プラグインやカスタム関数、・PHPブロック関数を追加したかをご連絡 いただくと、原因究明がはやくなりますので、ご協力ください!

書込: スラッシュが消えた!?

投稿日: 2010/04/24 20:22
投稿者: kuro

了解しました。 有り難うございました。

Geeklog Japan - 掲示板
https://www.geeklog.jp/forum/viewtopic.php?showtopic=15042