2011-10-07 49 views
0

我不是一個PHP專家,所以我在編寫代碼時會遇到一些麻煩,這些代碼將檢測頁面是否爲中文,如果是這樣,則使寫入模式垂直從右到左。我正在使用qtranslate在英文和中文之間切換。基於選定語言的PHP切換書寫模式?

繼承人一個示例頁面: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; ?>` 

兩者都沒有任何效果。 任何幫助將非常感激!

+0

您是否嘗試過它是否適用於非中國文字? –

+0

我有,即使在使用簡化的代碼後,它也不會影響文本。 – lizzmo

回答

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--> 
+0

我用get_bloginfo('language') – Armance

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

謝謝,它仍然沒有工作。 – lizzmo

+0

您是否嘗試過查詢CSS樣式表?您是否嘗試過使用額外的隨機GET參數追加地址?你還檢查你的語言環境嗎? –

+0

在HTML中使用這段代碼之後,沒有其他CSS用於元素了嗎? –