diff --git a/application/template.class.inc.php b/application/template.class.inc.php index bed5c31c90..bdfaaac25c 100644 --- a/application/template.class.inc.php +++ b/application/template.class.inc.php @@ -283,9 +283,29 @@ class ObjectDetailsTemplate extends DisplayTemplate $sStateAttCode = MetaModel :: GetStateAttributeCode(get_class($this->m_oObj)); $aTemplateFields = array(); preg_match_all('/\\$this->([a-z0-9_]+)\\$/', $this->m_sTemplate, $aMatches); - $aTemplateFields = $aMatches[1]; + foreach ($aMatches[1] as $sAttCode) + { + if (MetaModel::IsValidAttCode(get_class($this->m_oObj), $sAttCode)) + { + $aTemplateFields[] = $sAttCode; + } + else + { + $aParams['this->'.$sAttCode] = ""; + } + } preg_match_all('/\\$this->field\\(([a-z0-9_]+)\\)\\$/', $this->m_sTemplate, $aMatches); - $aTemplateFields = array_merge($aTemplateFields, $aMatches[1]); + foreach ($aMatches[1] as $sAttCode) + { + if (MetaModel::IsValidAttCode(get_class($this->m_oObj), $sAttCode)) + { + $aTemplateFields[] = $sAttCode; + } + else + { + $aParams['this->field('.$sAttCode.')'] = ""; + } + } $aFieldsComments = (isset($aParams['fieldsComments'])) ? $aParams['fieldsComments'] : array(); $aFieldsMap = array();