2014-04-03 45 views
-1

我想將PHP添加到PHP語句中。更確切地說,我想根據權限在OpenCart中顯示/隱藏模塊。 我結束了這樣的事情:如果條件內部回顯PHP代碼PHP

<?php if ($this->user->hasPermission('access', 'module/' <?php echo $extension['name']; ?> ')) { ?> 

整個實現

<?php foreach ($extensions as $extension) { ?> 
     <?php if ($this->user->hasPermission('access', 'module/' <?php echo $extension['name']; ?> ')) { ?> 
     <tr> 
     <td class="left"><?php echo $extension['name']; ?></td> 
     <td class="right"><?php foreach ($extension['action'] as $action) { ?> 
      [ <a href="<?php echo $action['href']; ?>"><?php echo $action['text']; ?></a> ] 
      <?php } ?></td> 
     </tr> 
     <?php } ?> 
     <?php } ?> 
+0

問題是? – fvu

+0

剛剛發生了什麼問題:'$ this-> user-> hasPermission('access','module /'.$ extension ['name'])'? – Halcyon

+0

而且?你有什麼問題 ?你的問題是什麼 ? –

回答

2

你犯了一個錯誤。它應該是這樣的:

user->hasPermission('access', 'module/'.$extension['name'])) { ?> 
+1

爲了完整:您需要[字符串concatination](http://www.php.net/manual/en/language.operators.string.php) – GolezTrol

+0

我之前嘗試過,但是我的輸出總是沒有任何東西,比我意識到。$ extension ['name']始終以大寫字母開頭,因此條件從未滿足,導致了問題。謝謝 – Naruko17

2

<?php if ($this->user->hasPermission('access', 'module/' <?php echo $extension['name']; ?> ')) { ?>

這是行不通的。你已經在PHP中,所以試圖做其他的回聲只會導致語法錯誤。您正在尋找在這裏串連字符串:

<?php if ($this->user->hasPermission('access', 'module/' . $extension['name'])) { ?> 

看到文檔:http://www.php.net/manual/en/language.operators.string.php

1

代碼是凌亂和容易出錯的,我建議你做這一切在PHP。

回顯HTML和用戶正確的字符串連接。

<?php 
foreach ($extensions as $extension) { 
    if ($this->user->hasPermission('access', 'module/'.$extension['name'])) { 
     echo '<tr> 
     <td class="left">'.$extension['name'].'</td> 
     <td class="right">'; 
     foreach ($extension['action'] as $action) { 
      echo '[ <a href="'.$action['href'].'">'.$action['text'].'</a> ]'; 
     } 
      echo '</td>'; 
     echo'</tr>'; 
    } 
}