繁体   English   中英

Joomla模板覆盖PHP初始化变量

[英]Joomla template override PHP initializing variable

我正在尝试为模板创建替代,以自定义扩展在文章中显示其字段的方式。

我使用的扩展名是DPfields,我正在使用开发人员的参考指南: https ://joomla.digital-peak.com/documentation/162-dpfields/2750-rendering-fields

特别是我要参考以下段落:访问布局中的字段

我已经从用于文章查看的default.php文件创建了一个新的php文件,并且在此新文件(newfile.php)内,我试图显示来自组件DPField的Gallery字段类型。

我已成功将此代码插入到newfile.php中:

<?php
    foreach ($this->item->dpfields as $field) {
        $gallery = (($field->type)=='gallery');
        if (!empty($gallery)) {
            echo '<div class="galleryfield">' .$field->value. '</div>'; 
        }
    }
?>

因此它可以在输出中正确显示图库。

我的问题是:如何改善该代码? 有没有更好的方法让它工作而不是使用foreach?

提前致谢。

您可以尝试过滤数组。 我猜这不会改变您需要的代码量。

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>'; 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM