我有一个名为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的模型的每个视图中重复使用此代码。
我不知道我可以在哪里抽象代码,以避免重复。
我不能将它放在行为或助手中,因为您无法设置标题。我无法将它放入组件中,因为它无法访问从模型中找到的数据。
有什么地方我可以把这个代码重用?