2017-09-01 32 views
0

裏面我有我的身體裏的PHP語句,這樣,我的一個頁面並不需要身體CSS PHP語句

<body id="page-top" class="single" <?php $actionId = $this->context->action->id; $pages =Yii::$app->params['page']; if(!in_array($actionId,$pages) ? 'style="padding-top:10px;"' :'') ?>> 

一切工作,但不是CSS的財產。我把它插入錯誤的地方了嗎?

'style="padding-top:10px;"' :'') 
+4

您正在使用三元不正確。你不需要'if'。 – Tiffany

回答

1

難道你忘記了回聲'style="padding-top:10px;"'過嗎?

另外您還使用if? - 操作員。只需使用其中一個:)

<body id="page-top" class="single" 
    <?php 
     $actionId = $this->context->action->id; 
     $pages =Yii::$app->params['page']; 
     echo (!in_array($actionId,$pages)) ? 'style="padding-top:10px;"' : ''; 
    ?> 
> 
+0

語法錯誤,意外'回聲'(T_ECHO) – richie

+0

這沒有錯誤,但CSS仍然不能在頁面上工作! – richie

+0

對不起,我忘了關閉'''' – Marcus

8

你不是echo風格。此外,如果語法混合三元運算符和正常。

<body id="page-top" class="single" <?php $actionId = $this->context->action->id; $pages =Yii::$app->params['page']; echo (!in_array($actionId,$pages)) ? 'style="padding-top:10px;"' :'' ?>> 

您可以使用三元運算符:

echo ($condition) ? "true" : "false"; 

還是正常的語法:

if ($condition) echo "true"; 
+0

嗨,感謝您的評論!我複製了這段代碼,它沒有錯誤,但頁面仍然是一樣的。該css不工作 – richie

+0

它必須是與在條件操作數的東西,你檢查它們嗎?看[這裏](https://3v4l.org/H9Gp2),我把$ pages設置爲'[2,3]'和'$ actionId'爲1,並且它正確地顯示了樣式。 – ishegg

+0

它的工作!唯一的問題是我不得不使用echo(in_array($ actionId,$ pages))而不是echo(!in_array($ actionId,$ pages)) – richie