我想为Joomla 3.7自定义我的模板,以便我可以使用Joomla 3.7的新功能,自定义字段(com_fields),并在我需要显示它的模板中通过CSS显示和格式化它们.
有人可以建议我在模板中使用的PHP代码来显示字段,请举例说明.
提前致谢.
小智 6
当然不是正确的方法,但我有同样的需求,我找到了基于https://www.giudansky.com/news/12-coding/146-joomla-custom-fields的解决方案
从/components/com_content/views/article/tmpl/default.php到模板/ YOUR_THEME/html/com_content/article/default.php的Copie default.php
添加以下代码行25:
$myCustomFields = array();
foreach($this->item->jcfields as $field) {
$myCustomFields[$field->name] = $field->value;
}
$GLOBALS['myCustomFields'] = $myCustomFields;
Run Code Online (Sandbox Code Playgroud)
通常,您会在全局变量中添加附加到文章的字段内容.在您的模板页面上,您可以知道您的字段的检索值.just print_r($ GLOBALS ['myCustomFields']); 查看数组的内容.
这将成为等待更好答案的诀窍..
对于每个迟到的人来说.如果你想在Module-Override中使用自定义表单字段(这实际上是修改j!-templates的唯一方法,那么google'joomla template override')你可以使用这个方便的代码片段:
<?php
JLoader::register('FieldsHelper', JPATH_ADMINISTRATOR . '/components/com_fields/helpers/fields.php');
$jcFields = FieldsHelper::getFields('com_content.article', $item, true);
$itemCustomFields = array();
foreach($jcFields as $field) {
$itemCustomFields[$field->name] = $field->rawvalue;
}
?>
Run Code Online (Sandbox Code Playgroud)
现在你可以使用你的自定义字段: itemCustomFields['customFieldName1']
尚未在文章覆盖中进行测试.可能很快,如果是这样,这将得到更新.
| 归档时间: |
|
| 查看次数: |
4517 次 |
| 最近记录: |