From 85d6b843e0a85b4901920cac7b9cb326ad270f22 Mon Sep 17 00:00:00 2001 From: yamamoto Date: Thu, 22 Jan 2026 12:54:05 +0900 Subject: [PATCH 1/3] Fix Ditto TV processing docid for inheritance --- assets/snippets/ditto/classes/ditto.class.inc.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/assets/snippets/ditto/classes/ditto.class.inc.php b/assets/snippets/ditto/classes/ditto.class.inc.php index 1018638c7..23d14ecd3 100644 --- a/assets/snippets/ditto/classes/ditto.class.inc.php +++ b/assets/snippets/ditto/classes/ditto.class.inc.php @@ -831,6 +831,7 @@ function appendTV($tvname = '', $docIDs=[]) $docs = []; while ($row = db()->getRow($rs)) { $k = '#' . $row['contentid']; + $row['docid'] = $row['contentid']; $v = evo()->tvProcessor($row); $docs[$k][$row['name']] = $v; $docs[$k]['tv' . $row['name']] = $v; @@ -853,6 +854,7 @@ function appendTV($tvname = '', $docIDs=[]) $k = '#' . $id; if (!isset($docs[$k])) { $row['contentid'] = $id; + $row['docid'] = $id; $v = evo()->tvProcessor($row); $docs[$k][$tvname] = $v; $docs[$k]['tv' . $tvname] = $v; @@ -868,6 +870,7 @@ function appendTV($tvname = '', $docIDs=[]) if (isset($docs[$k])) { continue; } + $row['docid'] = $id; $v = evo()->tvProcessor($row); $docs[$k][$tvname] = $v; $docs[$k]['tv' . $tvname] = $v; From 029de306a2430bbbeff4f4659b62b72c485a198b Mon Sep 17 00:00:00 2001 From: yamamoto Date: Thu, 22 Jan 2026 13:13:47 +0900 Subject: [PATCH 2/3] Refactor Ditto appendTV TV assignment handling --- .../ditto/classes/ditto.class.inc.php | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/assets/snippets/ditto/classes/ditto.class.inc.php b/assets/snippets/ditto/classes/ditto.class.inc.php index 23d14ecd3..0bd3427db 100644 --- a/assets/snippets/ditto/classes/ditto.class.inc.php +++ b/assets/snippets/ditto/classes/ditto.class.inc.php @@ -829,12 +829,15 @@ function appendTV($tvname = '', $docIDs=[]) ); $total = db()->count($rs); $docs = []; - while ($row = db()->getRow($rs)) { - $k = '#' . $row['contentid']; - $row['docid'] = $row['contentid']; + $appendTvValue = function ($row, $contentId, $name) use (&$docs) { + $k = '#' . $contentId; + $row['docid'] = $contentId; $v = evo()->tvProcessor($row); - $docs[$k][$row['name']] = $v; - $docs[$k]['tv' . $row['name']] = $v; + $docs[$k][$name] = $v; + $docs[$k]['tv' . $name] = $v; + }; + while ($row = db()->getRow($rs)) { + $appendTvValue($row, $row['contentid'], $row['name']); } if ($total == count($docIDs)) { return $docs; @@ -854,10 +857,7 @@ function appendTV($tvname = '', $docIDs=[]) $k = '#' . $id; if (!isset($docs[$k])) { $row['contentid'] = $id; - $row['docid'] = $id; - $v = evo()->tvProcessor($row); - $docs[$k][$tvname] = $v; - $docs[$k]['tv' . $tvname] = $v; + $appendTvValue($row, $id, $tvname); } } return $docs; @@ -870,10 +870,7 @@ function appendTV($tvname = '', $docIDs=[]) if (isset($docs[$k])) { continue; } - $row['docid'] = $id; - $v = evo()->tvProcessor($row); - $docs[$k][$tvname] = $v; - $docs[$k]['tv' . $tvname] = $v; + $appendTvValue($row, $id, $tvname); } return $docs; } From 3f605c5702c87834af939118a433a1eff8bdd3a5 Mon Sep 17 00:00:00 2001 From: yamamoto Date: Thu, 22 Jan 2026 13:13:53 +0900 Subject: [PATCH 3/3] Refactor Ditto appendTV to use helper method --- .../ditto/classes/ditto.class.inc.php | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/assets/snippets/ditto/classes/ditto.class.inc.php b/assets/snippets/ditto/classes/ditto.class.inc.php index 0bd3427db..0fc983995 100644 --- a/assets/snippets/ditto/classes/ditto.class.inc.php +++ b/assets/snippets/ditto/classes/ditto.class.inc.php @@ -829,15 +829,8 @@ function appendTV($tvname = '', $docIDs=[]) ); $total = db()->count($rs); $docs = []; - $appendTvValue = function ($row, $contentId, $name) use (&$docs) { - $k = '#' . $contentId; - $row['docid'] = $contentId; - $v = evo()->tvProcessor($row); - $docs[$k][$name] = $v; - $docs[$k]['tv' . $name] = $v; - }; while ($row = db()->getRow($rs)) { - $appendTvValue($row, $row['contentid'], $row['name']); + $this->appendTvValue($docs, $row, $row['contentid'], $row['name']); } if ($total == count($docIDs)) { return $docs; @@ -857,7 +850,7 @@ function appendTV($tvname = '', $docIDs=[]) $k = '#' . $id; if (!isset($docs[$k])) { $row['contentid'] = $id; - $appendTvValue($row, $id, $tvname); + $this->appendTvValue($docs, $row, $id, $tvname); } } return $docs; @@ -870,11 +863,25 @@ function appendTV($tvname = '', $docIDs=[]) if (isset($docs[$k])) { continue; } - $appendTvValue($row, $id, $tvname); + $this->appendTvValue($docs, $row, $id, $tvname); } return $docs; } + // --------------------------------------------------- + // Function: appendTvValue + // Append processed TV output to documents array + // --------------------------------------------------- + + function appendTvValue(&$docs, $row, $contentId, $name) + { + $k = '#' . $contentId; + $row['docid'] = $contentId; + $v = evo()->tvProcessor($row); + $docs[$k][$name] = $v; + $docs[$k]['tv' . $name] = $v; + } + // --------------------------------------------------- // Function: appendKeywords // Append keywords's to the resource array