Friday(星期五), August(八月) 29, 2008
建设一个bug跟踪系统:过滤转让
在一个错误跟踪,它往往能有所帮助,看看谁的错误,是分配给。为此,我们成立了 bug_tracker_assignment 自定义字段。现在我们要实施过滤由自定义字段。
事实上,在结构已经就位,因此,这将是非常轻松添加,它只是一个问题的几个条件和几个环节。准备好了吗?
开创了 bug_tracker/filter_by 范本。
找到这行:
{if segment_3 == “severity”}
我们要作出这个有条件的处理任务,以及,所以更新的路线看起来像这样:
{if segment_3 == “severity" OR segment_3 == “assignment”}
你可以在这里看到,我们的联系将通过什么我们正在过滤功能在URL中,我们会继续在这里,那么,创造我们自己的语义。最棒的部份是,我们已经考虑到这方面的需求,以及代码已在地点:
search:bug_tracker_{segment_3}=“={segment_4}”
已经是目前在我们的博客作品标记。没有其他需要做在这里。
因为expressionengine收益很大的弹性,通过部分;所有这一切都是左做此功能是要加入我们的链接。
开拓 inc/.leftnav ,并寻找这条路线:
<li><a href=“#”>Assigned To</a></li>
现在,取而代之的是这样:
<ul>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by“}assignment/Bob”>Bob</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by“}assignment/Jane”>Jane</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by“}assignment/Andrew”>Andrew</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by“}assignment/Chris”>Chris</a></li>
</ul>
这个工程,但它是去给我们一些奇怪的语言在我们的头。语言的差异是很容易处理的多几个条件。
开放 bug_tracker/filter_by和找到这些行:
{if no_results}
{if segment_3 != “assignment”}
No bugs of {segment_4} {segment_3}.
{if:elseif segment_3 == “assignment”}
There are no bugs assigned to {segment_4}.
{/if}
{/if}
这将更新标题,如果没有结果,现在要改变标题,如果有结果。找到这条路线:
<h3>Filtering by {segment_4} {segment_3}</h3>
和取代它的这个代码,类似上述的:
{if segment_3 != “assignment”}
<h3>Filtering by {segment_4} {segment_3}</h3>
{if:elseif segment_3 == “assignment”}
<h3>Bugs assigned to {segment_4}</h3>
{/if}
你可以看到从上述prcess ,增添了新的过滤器和信息需要在很短的时间。原因,这是expressionengine的权力使用的URL部分在组合与模板标记。推出了新网站的特点,成为一件简单的事的几个小模板的更新,并建立适当的联系。
本文来自:Blog & News
(本文为计算机翻译文章)
DeadFire 发表此文章于 08/29 当天 04:13 PM(下午)
制作一个 Bug 跟踪器 •
(0)
评论 • 讨论 • 交流 •
(0)
回溯 • 回溯地址 •
Permalink
Friday(星期五), August(八月) 22, 2008
建设一个bug跟踪系统:过滤地位
随着过滤的严重性,以及观看一自己的错误报告,这也是重要的是能够过滤的地位,这可让开发人员,看看有什么还需要进一步的工作,并且使用户,看看有什么可能仍然开放什么可能已经固定。
为此,我们将使用相同的方法,我们用在文章中对过滤的严重性。
有些时候用一个模板与条件,使很多意义上说,和其他的时候是没有意义的。在这种情况下,我们已经有一个filter_by模板,只有现在我们要过滤的地位,而不是严重。实现这一目标,我们将看到我们如何能够这样做,就一范本。
我们知道,我们要过滤的严重性,如果第三部分包含单词“严重性” 。因此,开放 bug_tracker/filter_by 和包围的 weblog 作品标记与有条件的测试三部分,它看起来就像这样:
{if segment_3 == “severity”}
{exp:weblog:entries weblog=“{bug_tracker_weblog}" limit=“30" status=“Open|New|Confirmed|Unconfirmed|External|Resolved" sort=“desc" search:bug_tracker_{segment_3}=“={segment_4}" dynamic=“off”}
{if no_results}
No bugs of {segment_4} {segment_3}.
{/if}
{if count == “1”}
<h3>Filtering by {segment_4} {segment_3}</h3>
<table>
<tr>
<th>ID</th>
<th>Status</th>
<th>Version</th>
<th>Description</th>
</tr>
{/if}
<tr>
<td>{entry_id}</td>
<td>{status}</td>
<td>{bug_tracker_version}</td>
<td>{title}</td>
</tr>
{if count == total_results}
</table>
{/if}
{/exp:weblog:entries}
{/if}
现在我们要添加相同的博客作品标签内有条件的测试部分3适用于Word的“status” 。不过,我们要去修改此标记作出的 status= segment 4 ,并摆脱对搜索:参数,我们将不会需要它在这方面,例如:
{if segment_3 == “status”}
{exp:weblog:entries weblog=“{bug_tracker_weblog}" limit=“30" status=“{segment_4}" sort=“desc" dynamic=“off”}
{if no_results}
No bugs of {segment_4} {segment_3}.
{/if}
{if count == “1”}
<h3>Filtering by {segment_4} {segment_3}</h3>
<table>
<tr>
<th>ID</th>
<th>Status</th>
<th>Version</th>
<th>Description</th>
</tr>
{/if}
<tr>
<td>{entry_id}</td>
<td>{status}</td>
<td>{bug_tracker_version}</td>
<td>{title}</td>
</tr>
{if count == total_results}
</table>
{/if}
{/exp:weblog:entries}
{/if}
一如以往,我们正在通过什么来筛选(status)和它的价值(任何的 Statuses,我们以前成立)通过 URL,在部分3和部分4 。
现在,所有这是左要做的是创造我们的联系,与适当的地位,使该过滤器是很容易获得。打开 inc/.leftnav。查找:
<li><a href=“#”>Status</a></li>
替换为:
<li>Status</li>
<ul>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by/status/New“}”>New</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by/status/Confirmed“}”>Confirmed</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by/status/Unconfirmed“}”>Unconfirmed</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by/status/External“}”>External</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by/status/Resolved“}”>Resolved</a></li>
</ul>
因为我们已成立的基本概念,这是很容易添加一个新的过滤方法,为我们的错误跟踪用户。
这里有两个模板,我们的工作就这个时间。完全守则,第一,为我们的导航,在 inc/.leftnav :
<div id=“leftnav”>
<h3>Filter By</h3>
<ul>
<li>Status</li>
<ul>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by/status/New“}”>New</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by/status/Confirmed“}”>Confirmed</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by/status/Unconfirmed“}”>Unconfirmed</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by/status/External“}”>External</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by/status/Resolved“}”>Resolved</a></li>
</ul>
<li>Severity</li>
<ul>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by“}severity/Trivial/”>Trivial</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by“}severity/Minor/”>Minor</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by“}severity/Major/”>Major</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by“}severity/Critical”>Critical</a></li>
</ul>
<li><a href=“#”>Version</a></li>
<li><a href=“#”>Category</a></li>
<li><a href=“#”>Reported by</a></li>
<li><a href=“#”>Assigned To</a></li>
</ul>
<h3>Search and Report</h3>
<ul>
<li><a href=“#”>Search</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/submit_bug“}”>Report</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/by_author}{logged_in_username}“}”>View My Bugs</a></li>
</ul>
<h3>Subscribe</h3>
<ul>
<li><a href=“#”>RSS</a></li>
<li><a href=“#”>Atom</a></li>
</ul>
</div>
和我们的代码为 bug_tracker/filter_by 模板:
{html_begin}
{embed=“inc/.head" title=“Bug Tracker - {segment_4} {segment_3}”}
<body>
<div id=“container”>
{embed=“inc/.banner”}
{embed=“inc/.leftnav”}
<div id=“content”>
{!-- Filter Reported Bugs by Severity --}
{if segment_3 == “severity”}
{exp:weblog:entries weblog=“{bug_tracker_weblog}" limit=“30" status=“Open|New|Confirmed|Unconfirmed|External|Resolved" sort=“desc" search:bug_tracker_{segment_3}=“={segment_4}" dynamic=“off”}
{if no_results}
No bugs of {segment_4} {segment_3}.
{/if}
{if count == “1”}
<h3>Filtering by {segment_4} {segment_3}</h3>
<table>
<tr>
<th>ID</th>
<th>Status</th>
<th>Version</th>
<th>Description</th>
</tr>
{/if}
<tr>
<td>{entry_id}</td>
<td>{status}</td>
<td>{bug_tracker_version}</td>
<td>{title}</td>
</tr>
{if count == total_results}
</table>
{/if}
{/exp:weblog:entries}
{/if}
{!-- Filter Reported Bugs by Status --}
{if segment_3 == “status”}
{exp:weblog:entries weblog=“{bug_tracker_weblog}" limit=“30" status=“{segment_4}" sort=“desc" dynamic=“off”}
{if no_results}
No bugs of {segment_4} {segment_3}.
{/if}
{if count == “1”}
<h3>Filtering by {segment_4} {segment_3}</h3>
<table>
<tr>
<th>ID</th>
<th>Status</th>
<th>Version</th>
<th>Description</th>
</tr>
{/if}
<tr>
<td>{entry_id}</td>
<td>{status}</td>
<td>{bug_tracker_version}</td>
<td>{title}</td>
</tr>
{if count == total_results}
</table>
{/if}
{/exp:weblog:entries}
{/if}
{!-- End Bug List --}
</div>
{embed=“inc/.footer”}
</div>
{html_end}
这种地面工作中,我们可以使模板上的重点与他们打算使用情况,迅速部署新的过滤方法,并有一个很好,舒适的妥协数目之间的模板和复杂性,这些模板。
本文来自:Blog & News
(本文为计算机翻译文章)
DeadFire 发表此文章于 08/22 当天 05:53 PM(下午)
制作一个 Bug 跟踪器 •
(0)
评论 • 讨论 • 交流 •
(0)
回溯 • 回溯地址 •
Permalink
Thursday(星期四), August(八月) 21, 2008
建设一个 bug 跟踪系统:过滤的严重性
在开始的这一系列,我们设立了一些自定义字段来处理数据的错误跟踪。那些自定义字段可用于现在,以帮助过滤器的数据和获得一个更具体的意见,有关的问题的任何那些自定义字段。
魔术队在这里将使用博客作品标签与搜索参数和环节。
我们应?
这篇文章,我们将会把重点放在过滤所有的bug报告,由他们的严重性。我们要小心,以建立一个模板,我们可以使用过滤后,由其他自定义字段,而重新使用相同的模板。
首先,重复索引中的错误跟踪模板组,并呼吁新的模板filter_by 。
现在,开拓新的模板并找到此代码:
{exp:weblog:entries weblog=“{bug_tracker_weblog}" limit=“30" status=“Open|New|Confirmed|Unconfirmed|External|Resolved" sort=“desc”}
对此,我们要添加搜索参数 ,我们将它添加像这样:
search:bug_tracker_{segment_3}=“={segment_4}" dynamic=“off”
我们正在转向动态小康这里作为我们正在再次确定我们自己的语义。对于搜索参数,我们希望保持这种灵活的,所以我们可以用它为我们的其他自定义字段,因此,要求segment_3 ,我们也希望能够通过一个变量,它使我们可以重新使用该模板,为我们所有的自定义字段,所以我们会打电话给segment_4以及。
您记住我们的自定义字段均prepended与短名称的博客;不过,我们不想得到反映多次在URL中,因为这将是多余的。保持的网址条理分明,我们’重新加入短名称到搜索参数,然后附加部分3 。瞬间,您会看到为什么。
之前,正如我们在上周的文章中,我们要去添加no_results变一双在这里,象这样:
{if no_results}
No bugs of {segment_4} {segment_3}.
{/if}
和为了有一个有条件的标题告诉我们,我们正在过滤功能,我们将添加这一权利下面我们业已存在的计数有条件的,和上述开放表标记:
<h3>Filtering by {segment_4} {segment_3}</h3>
我们会作出一个更改变这个模板,这是嵌入,要求 inc/.head ,我们需要通过正确的标题显示,所以它应该是现在看像这样:
{embed=“inc/.head" title=“Bug Tracker - {segment_4} {segment_3}”}
它的时间去建立联系,让过滤功能的严重性和环节。开拓 inc/.leftnav 。
我们将要替换的严重性,联系名单,严重筛选;取代此链接:
<li><a href=“#”>Severity</a></li>
替换为:
<li>Severity</li>
<ul>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by“}severity/Trivial/”>Trivial</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by“}severity/Minor/”>Minor</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by“}severity/Major/”>Major</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by“}severity/Critical/”>Critical</a></li>
</ul>
搜索参数是不区分大小写;然而,我们也准备使用这在我们的标题标签,所以我们会希望它有适当的资本与最小马克行动;利用的严重性,在我们的链接有利于实现这一目标。
现在访问错误跟踪,并点击平凡的联系-它看起来应该是这样的:
这里是模板代码为 bug_tracker/filter_by:
{html_begin}
{embed=“inc/.head" title=“Bug Tracker - {segment_4} {segment_3}”}
<body>
<div id=“container”>
{embed=“inc/.banner”}
{embed=“inc/.leftnav”}
<div id=“content”>
{!-- List of all reported bugs --}
{exp:weblog:entries weblog=“{bug_tracker_weblog}" limit=“30" status=“Open|New|Confirmed|Unconfirmed|External|Resolved" sort=“desc" search:bug_tracker_{segment_3}=“={segment_4}" dynamic=“off”}
{if no_results}
No bugs of {segment_4} {segment_3}.
{/if}
{if count == “1”}
<h3>Filtering by {segment_4} {segment_3}</h3>
<table>
<tr>
<th>ID</th>
<th>Status</th>
<th>Version</th>
<th>Description</th>
</tr>
{/if}
<tr>
<td>{entry_id}</td>
<td>{status}</td>
<td>{bug_tracker_version}</td>
<td>{title}</td>
</tr>
{if count == total_results}
</table>
{/if}
{/exp:weblog:entries}
{!-- End Bug List --}
</div>
{embed=“inc/.footer”}
</div>
{html_end}
和代码更新的 inc/.leftnav 模板:
<div id=“leftnav”>
<h3>Filter By</h3>
<ul>
<li><a href=“#”>Status</a></li>
<li>Severity</li>
<ul>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by“}severity/Trivial/”>Trivial</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by“}severity/Minor/”>Minor</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by“}severity/Major/”>Major</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/filter_by“}severity/Critical”>Critical</a></li>
</ul>
<li><a href=“#”>Version</a></li>
<li><a href=“#”>Category</a></li>
<li><a href=“#”>Reported by</a></li>
<li><a href=“#”>Assigned To</a></li>
</ul>
<h3>Search and Report</h3>
<ul>
<li><a href=“#”>Search</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/submit_bug“}”>Report</a></li>
<li><a href=“{path=”{bug_tracker_template_group}/by_author}{logged_in_username}“}”>View My Bugs</a></li>
</ul>
<h3>Subscribe</h3>
<ul>
<li><a href=“#”>RSS</a></li>
<li><a href=“#”>Atom</a></li>
</ul>
</div>
而现在我们可以很容易筛选职位的任何严重性,用一个模板,我们将扩大对这个概念,因为我们通过和实施的特点表明,在左侧导航菜单中。
本文来自:Blog & News
(本文为计算机翻译文章)
DeadFire 发表此文章于 08/21 当天 01:14 PM(下午)
制作一个 Bug 跟踪器 •
(0)
评论 • 讨论 • 交流 •
(0)
回溯 • 回溯地址 •
Permalink
Saturday(星期六), May(五月) 03, 2008
制作一个 Bug 跟踪器:我的 Bug Section
准备好的布局去,我们准备考虑如何显示岗位用各种各样有用的方式,因此记者和开发商能通过什么容易地过滤已经报告了,报告的状态和关于那个报告的所有讨论。
要开始,我们由迅速开始供应记者他们自己的报告名单。 方式他们可能跟踪在那些报告的状态并且反应所有询问关于进一步细节。
为了达到可能容易地被扩展在线下的基础设施,我们不对一块兆模板制约自己; 反而,我们将创造我们可以以后扩展为了得到详细的报告的基于作用的模板。
我们的此的第一个目标是能由记者限制臭虫报告。 因此,我们做模板和称它by_author。 这在bug_tracker模板小组。 当您创造这块模板时,复制bug_tracker模板分组指数。
这块模板主要依然是同索引模板一样。 只现在,我们增加dynamic=和username=参量,与username=叫第三段。 这将是打开标记的新的weblog词条:
{exp:weblog:entries weblog=“{bug_tracker_weblog}" limit=“30" status=“Open|New|Confirmed|Unconfirmed|External|Resolved" username=“{segment_3}" dynamic=“off”}
重要注意是,如果我们没有关闭动态这里,然后weblog词条标记相信段3是URL标题和给我们不同的结果比什么我们以后是。
现在我们将增加在我们的左航海的一个链接,在“查寻和报告之下”,并且称它“看法我的臭虫”。 链接如下所示: :
<a href=“{path=”{bug_tracker_template_group}/by_author}{logged_in_username}“}”>View My Bugs</a>
不仅我们现在设定了记者的能力能观看他们自己的报告,我们通过通过在URL的用户名也设定了将允许我们创造所有臭虫记者的链接的基础设施。
如果您这时测试,利用,如果no_results条件变量对容易明显的beccomes我们得到相当不提供信息的页,如果我们通过段3.这时通过非存在的用户名,它是好。 您能通过增加以下代码做那直接地在您的开头weblog词条标记之下:
{if no_results}
<p>No Bugs Reported</p>
{/if}
这完成的by_author模板:
{html_begin}
{embed=“inc/.head" title=“Bug Tracker”}
<body>
<div id=“container”>
{embed=“inc/.banner”}
{embed=“inc/.leftnav”}
<div id=“content”>
{!-- Showing My Bug Reports --}
<h3>Bugs Reported by {logged_in_username}</h3>
{exp:weblog:entries weblog=“{bug_tracker_weblog}" limit=“30" status=“Open|New|Confirmed|Unconfirmed|External|Resolved" username=“{segment_3}" dynamic=“off”}
{if no_results}
<p>No Bugs Reported.</p>
{/if}
{if count == “1”}
<table>
<tr>
<th>ID</th>
<th>Status</th>
<th>Version</th>
<th>Description</th>
</tr>
{/if}
<tr>
<td>{entry_id}</td>
<td>{status}</td>
<td>{bug_tracker_version}</td>
<td>{bug_tracker_details}</td>
</tr>
{if count == total_results}
</table>
{/if}
{/exp:weblog:entries}
{!-- End Bug List --}
</div>
{embed=“inc/.footer”}
</div>
{html_end}
当然,有其他方式我们可能处理了此,并且我将给简要的提及他们。 我们可能,例如,使用了:
username=“CURRENT_USER”
然而,做将介入的一块热忱的模板或者一系列的conditionals为了查明什么段3包含了。 在这种情况下,使用登录的成员的用户名,由完全,我们能用我们需要的所有功能创造一块干净,优化模板。
看是容易的重要URL段怎么可以是到ExpressionEngine; 不仅在正常用法,但是,当我们变化时什么他们意味,和定义我们自己的语义学。
本文来自:Blog & News
(本文为计算机翻译文章)
DeadFire 发表此文章于 05/03 当天 01:26 AM(上午)
制作一个 Bug 跟踪器 •
(0)
评论 • 讨论 • 交流 •
(0)
回溯 • 回溯地址 •
Permalink
制作一个 Bug 跟踪器:Bug 列表布局
在我们可以冒险入过滤和排序内容之前,我们应该首先搞到那个内容的好显示。
新来者经常没体会与ExpressionEngine的其中一件事是模板真正地完全地在您的控制之下。 表示假设很少,因此它跟随weblog词条只标记产品什么您明确地告诉它输出,并且这在您的手完全地把设计留在。
当缺省模板装备有CSS基于布局时,臭虫跟踪仪确实是更加表格的数据。 因此我们探索如何用weblog词条标记创造桌。
创造在weblog词条标记之内的一张桌是所有关于控制重复元素的桌和桌行。 我们必须记得一切在weblog词条里面标记圈,并且,除非您非常详细,您的桌标记将使成环,投入每个词条在它自己的桌里。
同时,我们不想要桌标记在weblog词条标记外面。 为什么? 如果没有词条,我们将有一张空的桌!
因此,我们可以做什么行使我们需要的控制? 带来在conditionals!
首先,我们想要打开我们的bug_tracker或索引模板和找出{exp :weblog :词条}标记。 我们将开始那里。 您应该已经有在您的模板的这条线:
{exp:weblog:entries weblog=“{bug_tracker_weblog}" limit=“30" status=“Open|New|Confirmed|Unconfirmed|External|Resolved”}
现在,在那之下,我们增加我们第一有条件:
{if count == “1”}
<table>
<tr>
<th>ID</th>
<th>Status</th>
<th>Version</th>
<th>Description</th>
</tr>
{/if}
那么这里我们能看到我们与值为1比较{计数}; 只有当我们是在圈的首先进入这告诉ExpressionEngine输出这信息。 因为我们要我们的桌和桌标题标记只一次,出现这是有用的。
桌标题包括我们需要,当列出臭虫报告时的基本信息。 我们在适当的地点那么现在需要让其余我们的习惯领域、状态和ID进入我们的桌。 要做那,我们跟随我们的桌标题,与在一个标准桌结构里面的适当的可变物:
<tr>
<td>{entry_id}</td>
<td>{status}</td>
<td>{bug_tracker_version}</td>
<td>{bug_tracker_details}</td>
</tr>
最后,我们想要关闭在最后词条以后只发生的我们的桌,但是我们想要保证。 要做此,我们计数与比较{total_results},以便,只有当他们是相等的,我们输出了那个最后的代码:
{if count == total_results}
</table>
{/if}
如那应该看起来类似此,在我们的weblog词条之间的这个代码以结果末端:
并且充分的代码,现在,我们的bug_tracker或索引模板的是象如此:
{html_begin}
{embed=“inc/.head" title=“Bug Tracker”}
<body>
<div id=“container”>
{embed=“inc/.banner”}
{embed=“inc/.leftnav”}
<div id=“content”>
{!-- List of all reported bugs --}
{exp:weblog:entries weblog=“{bug_tracker_weblog}" limit=“30" status=“Open|New|Confirmed|Unconfirmed|External|Resolved”}
{if count == “1”}
<table>
<tr>
<th>ID</th>
<th>Status</th>
<th>Version</th>
<th>Description</th>
</tr>
{/if}
<tr>
<td>{entry_id}</td>
<td>{status}</td>
<td>{bug_tracker_version}</td>
<td>{bug_tracker_details}</td>
</tr>
{if count == total_results}
</table>
{/if}
{/exp:weblog:entries}
{!-- End Bug List --}
</div>
{embed=“inc/.footer”}
</div>
{html_end}
您一定将想要称呼您的在线下的桌。 但是这暂时给我们工作,情报,表格名单输出我们的臭虫报告,并且我们可以现在继续前进向排序和过滤这信息用对臭虫记者和开发商将是有用的方法。
本文来自:Blog & News
(本文为计算机翻译文章)
DeadFire 发表此文章于 05/03 当天 01:12 AM(上午)
制作一个 Bug 跟踪器 •
(0)
评论 • 讨论 • 交流 •
(0)
回溯 • 回溯地址 •
Permalink