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

2023-12-01 18:27:59
varlinor
  • 访问次数: 7
  • 注册日期: 2023-11-24
  • 最后登录: 2023-12-01
  • 我的积分: 47
  • 门派等级: 无门派

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

只能上个简单版的了:

环境: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定义先于扩展文件加载?




沙发
2023-12-04 10:14:13
于涛
  • 访问次数: 1225
  • 注册日期: 2020-08-10
  • 最后登录: 2024-04-18
  • 我的积分: 15422
  • 门派等级: 释迦 等级5 菩萨
禅道访问的URL地址这个是程序固定的,里面携带了一些关键信息,从不同的入口访问相同的内容也可能存在URL地址不一样的情况,所以扩展开发需要根据具体页面方法来做。
1/1 1