Режим переключения PHP на основе выбранного языка? - PullRequest
0 голосов
/ 07 октября 2011

Я не эксперт по 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; ?>`

Ни один из них не дал никакого эффекта.Любая помощь будет очень ценится!

Ответы [ 2 ]

1 голос
/ 09 марта 2012

В конце концов мне пришлось пойти другим путем и просто изменить ширину, чтобы заставить китайский текст быть вертикальным. Режим письма просто не будет работать для меня.

Вот что я использовал:

<!-- 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-->
0 голосов
/ 07 октября 2011

Возможно, вы получили синтаксическую ошибку.

Как вы используете {} Вы должны удалить этот кусок кода:

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