我正在尝试为我的模板创建一个覆盖,以自定义扩展程序在文章中显示字段的方式。
我使用的扩展程序是DPfields,我正在使用开发人员的参考指南:https://joomla.digital-peak.com/documentation/162-dpfields/2750-rendering-fields
特别是我引用了段落:访问布局中的字段
我创建了一个新的php文件,从default.php文件开始,用于文章视图,在这个新文件中(newfile.php)我试图从组件DPField中显示一个库字段类型。
我已成功将此代码插入newfile.php:
<?php
foreach ($this->item->dpfields as $field) {
$gallery = (($field->type)=='gallery');
if (!empty($gallery)) {
echo '<div class="galleryfield">' .$field->value. '</div>';
}
}
?>
所以它在输出中正确显示了画廊。
我的问题是:如何改进该代码?是否有更好的方法让它工作而不是使用foreach?
提前致谢。
答案 0 :(得分:0)
您可以尝试过滤数组。它不会改变我猜你需要的代码量。
function filterForGalleryType($field) {
return ($field->type) == 'gallery';
}
$galleryFields = array_filter($this->item->dpfields, "filterForGalleryType");
foreach ($galleryFields as $galleryfield) {
echo '<div class="galleryfield">' .$galleryfield->value. '</div>';
}