From 549b0a85b00c76501fb23ec08272a15ea85fff7c Mon Sep 17 00:00:00 2001 From: liugang Date: Fri, 12 Jul 2019 17:37:46 +0800 Subject: [PATCH] * Add codes to print labels set by workflow. --- framework/router.class.php | 34 +++++++++++++++++++++++--------- module/product/view/all.html.php | 9 ++++++++- 2 files changed, 33 insertions(+), 10 deletions(-) diff --git a/framework/router.class.php b/framework/router.class.php index b45829ea7c..5a597f1fc8 100755 --- a/framework/router.class.php +++ b/framework/router.class.php @@ -273,19 +273,35 @@ class router extends baseRouter $flow = $this->dbh->query("SELECT * FROM " . TABLE_WORKFLOW . " WHERE `module` = '$this->moduleName'")->fetch(); if($flow) { - $action = $this->dbh->query("SELECT * FROM " . TABLE_WORKFLOWACTION . " WHERE `module` = '$this->moduleName' AND `action` = '$this->methodName'")->fetch(); - if(zget($action, 'extensionType') == 'override') + if($flow->buildin && $this->methodName == 'browselabel') { - $this->workflowModule = $this->moduleName; - $this->workflowMethod = $this->methodName; + $this->workflowModule = $this->moduleName; + $this->workflowMethod = 'browse'; - $this->loadModuleConfig('workflowaction'); + $this->loadModuleConfig('workflowaction'); - $moduleName = 'flow'; - $methodName = in_array($this->methodName, $this->config->workflowaction->default->actions) ? $this->methodName : 'operate'; + $moduleName = 'flow'; + $methodName = 'browse'; - $this->setModuleName($moduleName); - $this->setMethodName($methodName); + $this->setModuleName($moduleName); + $this->setMethodName($methodName); + } + else + { + $action = $this->dbh->query("SELECT * FROM " . TABLE_WORKFLOWACTION . " WHERE `module` = '$this->moduleName' AND `action` = '$this->methodName'")->fetch(); + if(zget($action, 'extensionType') == 'override') + { + $this->workflowModule = $this->moduleName; + $this->workflowMethod = $this->methodName; + + $this->loadModuleConfig('workflowaction'); + + $moduleName = 'flow'; + $methodName = in_array($this->methodName, $this->config->workflowaction->default->actions) ? $this->methodName : 'operate'; + + $this->setModuleName($moduleName); + $this->setMethodName($methodName); + } } } } diff --git a/module/product/view/all.html.php b/module/product/view/all.html.php index f3708d4b40..0114a5b81d 100644 --- a/module/product/view/all.html.php +++ b/module/product/view/all.html.php @@ -22,10 +22,17 @@ product->featureBar['all'] as $key => $label) { + if(is_string($label)) $link = inlink("all", "productID={$productID}&line=&status={$key}"); + if(is_array($label)) + { + $link = zget($label, 'link', ''); + $label = zget($label, 'label', ''); + if(!$link or !$label) continue; + } $label = "{$label}"; $label .= $key == $status ? " {$pager->recTotal}" : ''; $active = $key == $status ? 'btn-active-text' : ''; - echo html::a(inlink("all", "productID={$productID}&line=&status={$key}"), $label, '', "class='btn btn-link {$active}' id='{$key}'"); + echo html::a($link, $label, '', "class='btn btn-link {$active}' id='{$key}'"); } ?>