0

私はphpの専門家ではないので、ページが中国語かどうかを検出し、中国語の場合は書き込みモードを右から左に垂直にするコードを書くのに苦労しています。qtranslate を使用して英語と中国語を切り替えています。

サンプルページはこちら: http://occa-art.com/cai-yuan/biography/

私の最初の試みは、これをヘッダーに入れることでした:

<?php if(qtrans_getLanguage()=='zh'): ?>
<style type="text/css">
#content, #nav {
writing-mode: tb-rl;}
</style>
<?php endif; ?>

次に、それを取り出し、このチュートリアルに基づいて、外部の php/css スタイルシートで次のコードを試しました: http://www.blog.hemminga.net/index.php/conditional-css-through-php?blog=6 :

<?php header("Content-type: text/css"); ?>

<?php
if (qtrans_getLanguage()=='zh')
{
    $chinese = 1;
}
if (qtrans_getLanguage()=='en')
{
    $chinese = 0;
}
?>

#content, #nav {
    <?php
    if ( $chinese )
    {
        echo ( "writing-mode: tb-rl; \n" );
    }
    else
    {
        echo ( "writing-mode: lr-tb; \n" );
    }
    ?>
<?php endif; ?>`

どちらも効果はありませんでした。どんな助けでも大歓迎です!

4

2 に答える 2

1

結局、私は別のルートに行き、幅を変更して中国語のテキストを強制的に垂直にする必要がありました。書き込みモードは私にはうまくいきません。

私が使用したものは次のとおりです。

<!-- Nav layout based on language -->
<?php
if ( qtrans_getLanguage() == 'zh' ) { ?>
<style type="text/css" media="screen">
#page_nav li, #nav li {
    width: 1em;
    float: left;
    margin-right: 5px;
    margin-left: 0px;
    margin-top: 0px;
    font-size: 15px;
}
#page_nav {
    height: 86px;
}
</style>
<?php } else { ?>
<style type="text/css" media="screen">
#page_nav li {
    margin-right: 10px;
    margin-left: 0px;
    display: inline;
}
#page_nav ul {
    margin-top: 10px;
}
#page_nav {
    height: 78px;
}
</style>
<?php } ?>
<!--END-->
于 2012-03-08T20:53:37.393 に答える
0

おそらく構文エラーが発生します。

{} を使用するときは、次のコードを削除する必要があります。

<?php endif; ?>

CSS ステートメントを閉じます。これを行うためのより短い方法は次のとおりです。

<?php header("Content-type: text/css"); ?>

#content, #nav {
    <?php
        if ( qtrans_getLanguage() == 'zh' ) {
               echo ( "writing-mode: tb-rl; \n" );
        }
        else {
            echo ( "writing-mode: lr-tb; \n" );
        }
    ?>
}
于 2011-10-07T12:06:29.977 に答える