2014-03-05 105 views
1

app/Console/MyTheme/view.ctp烤場如何一定會顯示在我的意見,我有這樣的片段:改變當蛋糕

if ($isKey !== true) { 
    echo "\t<dt><?php echo __('" . Inflector::humanize($field) . "'); ?></dt>\n"; 
    echo "\t<dd><?php echo h(\${$singularVar}['{$modelClass}']['{$field}']); ?>&nbsp;</dd>\n"; 
} 

我必須在我手上,以確定字段類型的東西正在處理?從本質上講,我希望能夠做這樣的事情:

if ($isKey !== true) { 
    echo "\t<dt><?php echo __('" . Inflector::humanize($field) . "'); ?></dt>\n"; 
    if($field['type'] == 'Something') 
     //do something here 
    else 
     echo "\t<dd><?php echo h(\${$singularVar}['{$modelClass}']['{$field}']); ?>&nbsp;</dd>\n"; 
} 

目標將檢測TINYINT(1),並有「是」或「否」出爐時顯示。還是這個功能已經存在?

編輯#1

它只是發生在我身上,我的布爾字段都前綴「確保對方」。我可能會做這樣的事情:

if ($isKey !== true) { 
    echo "\t<dt><?php echo __('" . Inflector::humanize($field) . "'); ?></dt>\n"; 
    if(strpos($field, "is_") !== false) 
     echo "\t<dd>Yes or No</dd>\n"; 
    else 
     echo "\t<dd><?php echo h(\${$singularVar}['{$modelClass}']['{$field}']); ?>&nbsp;</dd>\n"; 
} 

編輯#2

此作品在一定程度上:

if ($isKey !== true) { 
      echo "\t<dt><?php echo __('" . Inflector::humanize($field) . "'); ?></dt>\n"; 
      if(strpos($field, "is_") !== false) 
       echo "\t<dd><?php echo \${$singularVar}['{$modelClass}']['{$field}'] ? 'Yes' : 'No'; ?></dd>\n"; 
      else 
       echo "\t<dd><?php echo h(\${$singularVar}['{$modelClass}']['{$field}']); ?>&nbsp;</dd>\n"; 
    } 
+0

您可以觀看formHelper瞭解如何檢測正確的輸入類型用於每個字段,我想你必須加載關聯的模型並檢查他的模式以找到字段類型。 – arilia

+0

當我烘烤時,所有東西都已經完全不同了...... – CBroe

回答

0

這似乎正是我一直在尋找(因爲我所有的布爾型字段的前綴爲「is_」):

if ($isKey !== true) { 
      echo "\t<dt><?php echo __('" . Inflector::humanize($field) . "'); ?></dt>\n"; 
      if(strpos($field, "is_") !== false) 
       echo "\t<dd><?php echo \${$singularVar}['{$modelClass}']['{$field}'] ? 'Yes' : 'No'; ?></dd>\n"; 
      else 
       echo "\t<dd><?php echo h(\${$singularVar}['{$modelClass}']['{$field}']); ?>&nbsp;</dd>\n"; 
    }