【bug反馈】扩展需求查看后,项目/执行中查看需求报Class story not found

回贴
回帖数 1
阅读数 362
发表时间 2023-12-01 18:27:59
🏉
varlinor 楼主

上一篇写了个详细版的反馈帖子,结果在提交一瞬间发现被踢出登录了,再登录就全没了,破大防~ 

只能上个简单版的了:

环境:18.9 win zbox版

扩展:extension\custom\story\ext\control\view.php

内容:

<?php
class myStory extends story {
    public function view($storyID, $version = 0, $param = 0, $storyType = 'story')
    {
        parent::view($storyID, $version, $param, $storyType);
    }
}

复现方式:

添加插件后,在产品菜单中 点击需求列表查看需求,正常显示,查看需求的url:http://127.0.0.1/zentao/story-view-5-0--story.html#app=product

在项目中查看需求,报错,查看需求的url:http://127.0.0.1/zentao/projectstory-view-5-1.html

在执行的设计、开发等环节查看需求,报错,查看需求的url:http://127.0.0.1/zentao/e x e cution-storyView-5-3.html


查了下禅道的源码,发现后两个请求的control中通过fetch去进行跨模块的方法调用,因此怀疑是跨模块时,上下文中缺少story的定义

跟贵方技术人员沟通后也确认了,扩展的custom目录会先加载。


再次在testreport模块继续验证

添加extension\custom\testreport\ext\control\view.php,内容类似上面,只是extends testreport

无论是在项目菜单、执行菜单还是测试菜单中,从测试报告列表,点击查看测试报告,请求的url都是:http://127.0.0.1/zentao/testreport-view-1.html

也就是说符合扩展直接请求的规则,上下文不缺失。


所以,请问,需求查看的url是否能够都统一成类似于story-view-5-0--story.html这个地址进行查看,即需求列表的上级页面通过fetch进行跨模块的调用,但是列表中a标签的跳转地址保持一致。

或者,请解决扩展研发需求查看功能(story模块control中的view方法)在fetch跨模块调用时,能够保证上下文中story定义先于扩展文件加载?




1个回复
于涛 沙发
禅道访问的URL地址这个是程序固定的,里面携带了一些关键信息,从不同的入口访问相同的内容也可能存在URL地址不一样的情况,所以扩展开发需要根据具体页面方法来做。
2023-12-04 10:14:13 于涛 回帖
联系人
杨苗/高级客户经理
电话(微信)
13165050229
QQ号码
2692096539
联系邮箱
yangmiao@chandao.com
返回顶部
杨苗
高级客户经理
13165050229
2692096539
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。 问题反馈反馈点击这里,让我们聆听您的建议与反馈。