我有一個名爲PageMetaData模型包含標題和描述。這將被綁定到任何其他模型,並被用作頁面的標題標籤和元描述。CakePHP我可以把這段代碼重用嗎?
所以我有一個名爲品牌的模型。品牌有一個字段名爲page_meta_data_id和品牌屬於關聯 PageMetaData
現在的看法品牌,我可以運行此代碼:
if(!empty($data['PageMetaData']['title']))
{
$this->set('title_for_layout', $data['PageMetaData']['title']);
}
else if(!empty($data['Brand']['name']))
{
$this->set('title_for_layout', $data['Brand']['name']);
}
if(!empty($data['PageMetaData']['description']))
{
echo $this->Html->meta('description', $data['PageMetaData']['description'],array('inline'=>false));
}
else if(!empty($data['Brand']['description']))
{
echo $this->Html->meta('description', $data['Brand']['description'],array('inline'=>false));
}
如果一個PageMetaData已經被關聯到最新的品牌和具有價值對於標題,它會將其設置爲頁面標題,否則,如果品牌有一個名爲字段的字段,它將爲我們提供該字段。描述相同。
問題是我不想在每個使用PageMetaData的模型的每個視圖中重複使用此代碼。
我不知道我可以在哪裏抽象代碼,以避免重複。
我不能將它放在行爲或助手中,因爲您無法設置標題。我無法將它放入組件中,因爲它無法訪問從模型中找到的數據。
有什麼地方我可以把這個代碼重用?