summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorLester Caine <lester@lsces.co.uk>2026-05-29 15:03:00 +0100
committerLester Caine <lester@lsces.co.uk>2026-05-29 15:03:00 +0100
commitc401680a7cbe4ffffbcd496fa671e319a4967fc1 (patch)
tree0afb429c1bf01affd896fb3480dc3f18408410c0 /includes
parent3d94c3dfe203edeb25b42466733672aff9fca89f (diff)
downloadliberty-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-xincludes/classes/LibertyContent.php45
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';
}