本文整理汇总了PHP中BaseElementModel::getFieldLayout方法的典型用法代码示例。如果您正苦于以下问题:PHP BaseElementModel::getFieldLayout方法的具体用法?PHP BaseElementModel::getFieldLayout怎么用?PHP BaseElementModel::getFieldLayout使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BaseElementModel
的用法示例。
在下文中一共展示了BaseElementModel::getFieldLayout方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getEditorHtml
/**
* @inheritDoc IElementType::getEditorHtml()
*
* @param BaseElementModel $element
*
* @return string
*/
public function getEditorHtml(BaseElementModel $element)
{
$html = '';
$fieldLayout = $element->getFieldLayout();
if ($fieldLayout) {
$originalNamespace = craft()->templates->getNamespace();
$namespace = craft()->templates->namespaceInputName('fields', $originalNamespace);
craft()->templates->setNamespace($namespace);
foreach ($fieldLayout->getFields() as $fieldLayoutField) {
$fieldHtml = craft()->templates->render('_includes/field', array('element' => $element, 'field' => $fieldLayoutField->getField(), 'required' => $fieldLayoutField->required));
$html .= craft()->templates->namespaceInputs($fieldHtml, 'fields');
}
craft()->templates->setNamespace($originalNamespace);
}
return $html;
}
示例2: validateContent
/**
* Validates some content with a given field layout.
*
* @param BaseElementModel $element The element whose content should be validated.
*
* @return bool Whether the element's content validates.
*/
public function validateContent(BaseElementModel $element)
{
$elementType = craft()->elements->getElementType($element->getElementType());
$fieldLayout = $element->getFieldLayout();
$content = $element->getContent();
// Set the required fields from the layout
$attributesToValidate = array('id', 'elementId', 'locale');
$requiredFields = array();
if ($elementType->hasTitles()) {
$requiredFields[] = 'title';
$attributesToValidate[] = 'title';
}
if ($fieldLayout) {
foreach ($fieldLayout->getFields() as $fieldLayoutField) {
$field = $fieldLayoutField->getField();
if ($field) {
$attributesToValidate[] = $field->handle;
if ($fieldLayoutField->required) {
$requiredFields[] = $field->id;
}
}
}
}
if ($requiredFields) {
$content->setRequiredFields($requiredFields);
}
return $content->validate($attributesToValidate);
}