diff options
| author | Lester Caine <lester@lsces.co.uk> | 2026-05-29 15:03:00 +0100 |
|---|---|---|
| committer | Lester Caine <lester@lsces.co.uk> | 2026-05-29 15:03:00 +0100 |
| commit | c401680a7cbe4ffffbcd496fa671e319a4967fc1 (patch) | |
| tree | 0afb429c1bf01affd896fb3480dc3f18408410c0 /includes | |
| parent | 3d94c3dfe203edeb25b42466733672aff9fca89f (diff) | |
| download | liberty-c401680a7cbe4ffffbcd496fa671e319a4967fc1.tar.gz liberty-c401680a7cbe4ffffbcd496fa671e319a4967fc1.tar.bz2 liberty-c401680a7cbe4ffffbcd496fa671e319a4967fc1.zip | |
Standardise xref templates to _item naming; add value and group templates
- Rename all view_xref_*_record.tpl → view_xref_*_item.tpl throughout
- LibertyContent: getXrefRecordTemplate/ListTemplate/EditTemplate use _item
naming with three-level fallback (pkg/guid subdir → pkg root → liberty);
getXrefRecordTemplate falls back to text_item if template file not found;
getXrefEditTemplate checks liberty _item before generic edit_xref.tpl
- list_xref.tpl: assign _rowTpl before method call to avoid Smarty section
variable resolution issue inside PHP method call arguments
- New templates: view_xref_value_item.tpl, edit_xref_value_item.tpl for
simple numeric xref items (xkey field, not data)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'includes')
| -rwxr-xr-x | includes/classes/LibertyContent.php | 45 |
1 files changed, 33 insertions, 12 deletions
diff --git a/includes/classes/LibertyContent.php b/includes/classes/LibertyContent.php index 9f79e45..58894be 100755 --- a/includes/classes/LibertyContent.php +++ b/includes/classes/LibertyContent.php @@ -2157,10 +2157,17 @@ class LibertyContent extends LibertyBase implements BitCacheable { */ public function getXrefListTemplate( ?string $pTemplate = null ): string { if( $pTemplate ) { - $package = $this->mType['handler_package'] ?? 'liberty'; + $package = $this->mType['handler_package'] ?? 'liberty'; $pkgConst = strtoupper( $package ).'_PKG_PATH'; - if( defined( $pkgConst ) && file_exists( constant( $pkgConst ).'templates/list_xref_'.$pTemplate.'.tpl' ) ) { - return 'bitpackage:'.$package.'/list_xref_'.$pTemplate.'.tpl'; + if( defined( $pkgConst ) ) { + $base = constant( $pkgConst ).'templates/'; + $file = 'view_xref_'.$pTemplate.'_group.tpl'; + if( $this->mContentTypeGuid && file_exists( $base.$this->mContentTypeGuid.'/'.$file ) ) { + return 'bitpackage:'.$package.'/'.$this->mContentTypeGuid.'/'.$file; + } + if( file_exists( $base.$file ) ) { + return 'bitpackage:'.$package.'/'.$file; + } } } return 'bitpackage:liberty/list_xref.tpl'; @@ -2168,26 +2175,40 @@ class LibertyContent extends LibertyBase implements BitCacheable { public function getXrefRecordTemplate( ?string $pTemplate = null ): string { $pTemplate = $pTemplate ?: 'text'; - $package = $this->mType['handler_package'] ?? 'liberty'; + $package = $this->mType['handler_package'] ?? 'liberty'; $pkgConst = strtoupper( $package ).'_PKG_PATH'; if( defined( $pkgConst ) ) { - $pkgTpl = constant( $pkgConst ).'templates/view_xref_'.$pTemplate.'_record.tpl'; - if( file_exists( $pkgTpl ) ) { - return 'bitpackage:'.$package.'/view_xref_'.$pTemplate.'_record.tpl'; + $base = constant( $pkgConst ).'templates/'; + $file = 'view_xref_'.$pTemplate.'_item.tpl'; + if( $this->mContentTypeGuid && file_exists( $base.$this->mContentTypeGuid.'/'.$file ) ) { + return 'bitpackage:'.$package.'/'.$this->mContentTypeGuid.'/'.$file; + } + if( file_exists( $base.$file ) ) { + return 'bitpackage:'.$package.'/'.$file; } } - return 'bitpackage:liberty/view_xref_'.$pTemplate.'_record.tpl'; + $libertyTpl = LIBERTY_PKG_PATH.'templates/view_xref_'.$pTemplate.'_item.tpl'; + return file_exists( $libertyTpl ) + ? 'bitpackage:liberty/view_xref_'.$pTemplate.'_item.tpl' + : 'bitpackage:liberty/view_xref_text_item.tpl'; } public function getXrefEditTemplate( ?string $pTemplate = null ): string { $pTemplate = $pTemplate ?: 'text'; - $package = $this->mType['handler_package'] ?? 'liberty'; + $package = $this->mType['handler_package'] ?? 'liberty'; $pkgConst = strtoupper( $package ).'_PKG_PATH'; if( defined( $pkgConst ) ) { - $pkgTpl = constant( $pkgConst ).'templates/edit_xref_'.$pTemplate.'.tpl'; - if( file_exists( $pkgTpl ) ) { - return 'bitpackage:'.$package.'/edit_xref_'.$pTemplate.'.tpl'; + $base = constant( $pkgConst ).'templates/'; + $file = 'edit_xref_'.$pTemplate.'_item.tpl'; + if( $this->mContentTypeGuid && file_exists( $base.$this->mContentTypeGuid.'/'.$file ) ) { + return 'bitpackage:'.$package.'/'.$this->mContentTypeGuid.'/'.$file; } + if( file_exists( $base.$file ) ) { + return 'bitpackage:'.$package.'/'.$file; + } + } + if( file_exists( LIBERTY_PKG_PATH.'templates/edit_xref_'.$pTemplate.'_item.tpl' ) ) { + return 'bitpackage:liberty/edit_xref_'.$pTemplate.'_item.tpl'; } return 'bitpackage:liberty/edit_xref.tpl'; } |
