根据所选语言切换PHP编写模式



我不是一个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; ?>`

都没有任何效果。任何帮助将非常感激!

最后我不得不采取不同的方法,简单地改变宽度,迫使中文文本垂直显示。写作模式就是不适合我。

下面是我使用的:

<!-- 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-->

可能会出现语法错误。

当你使用{}时,你应该删除这段代码:

<?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" );
        }
    ?>
}

相关内容

  • 没有找到相关文章

最新更新