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
Friday(星期五), April(四月) 18, 2008
Gearlive 发布了EE 内部预览视频
两天前我提到了Andru 在 EE 2.0 内部预览的时候做了录像。
现在这个视频可以看到了,快去看吧,真是一个好消息。
来自:EE Blog & News
DeadFire 发表此文章于 04/18 当天 02:09 PM(下午)
新闻 •
(0)
评论 • 讨论 • 交流 •
(0)
回溯 • 回溯地址 •
Permalink
ExpressionEngine 2.0 首批截图和一些其他信息
前几天还在想,终于盼到 SXSW 就要开幕了,可是真到了这两天,忙着做新风格反倒忘了这期待了数月的 EE 2.0。EE官方blog一直没有关于2.0的更新,幸好很焦急地去论坛里翻了下,才发现老外们讨论的正热烈呢——与之相比,国内基本没什么动静……虽然已经有一些人在努力推广,但要等到EE花开中国,还是很漫长啊~
ExpressionEngine 2.0 基于 CodeIgniter 框架开发,Derek说,“新功能非常多,很令人兴奋,很令人激动……”。演讲现场的图片,可以查看Flickr相册:ExpressionEngine 2.0 Preview at SXSW。
演讲开始。EllisLab的漂亮Logo
在演讲中展示的截图全都是EE2后台界面,想要了解ExpressionEngine,当然要从控制面版开始!
图1、控制面板首页[点击查看大图-弹出窗口模式]
图2、注册会员管理[点击查看大图-弹出窗口模式]
图3、搜索会员[点击查看大图-弹出窗口模式]
图4、Entry 管理[点击查看大图-弹出窗口模式]
图5、发表 Entry(显示工具栏)[点击查看大图-弹出窗口模式]
图6、发表 Entry(隐藏工具栏)[点击查看大图-弹出窗口模式]
图7、发表 Entry(拖放排序)[点击查看大图-弹出窗口模式]
看得出来,后台界面按照功能划分的更加合理,样式也逐步趋近Web 2.0的风格了,并且集成了JQuery。希望这次能附赠个好看点的默认风格,不至于让刚上手EE的人立刻就被那丑陋的默认前台界面给搞得胃口全无。
至于 EE 2.0 的发布日期——当然不会透露了……>_< 只能说目前仍在开发中,而大家现在看到的样子,最后也很可能有大大小小的更改,总之,这只是个先期预览,算是EE2的首次登场露面了。
最后,是近两天正在酝酿的Blog新风格,也放个Preview看看
BTW,本来新风格设计中包含了一些JS效果,正在努力学习MooTools呢,没想到官方要集成JQuery……赶紧,目标转移到JQuery上去 >_<
Update:
就在昨天晚上,EllisLab的技术架构师 Derek 在活动间歇去释放内存,发现旁边有个小展位在宣传一个新的Web框架。大家基本算是同行,于是Derek就上前问了几句,随后的对话基本上全都是这个样子(Derek问一句话,然后对方回答一句毫无帮助的话,或者说需要更多说明才能解释清楚的话 >_<):
> “你们这大概是个什么?”
> “我们这是一个以Javascript运行的Web框架。”
> “哦,就是客户端框架对吧?”
> “不是,你还需要我们的服务器。”
> “恩,那是提供主机服务么?”
> “不是,我们在你的服务器上运行,我们这是个运行Javascript的Web框架。”
> “是Apache模组么?”
> “我们用Java编写,可以运行在任何地方。你可以用Javascript编写页面,然后我们将其编译运行。”
> “那我该怎样整合进我自己的服务器?”
> “哦,你需要我们的服务器。”
> “啊哈~我怎么才能把你们的编译结果整合进我的服务器呢?FTP?”
> “不,你需要安装在我们的服务器上。”
> “啊……好吧,拜拜”
> “要T-Shirt吗?”
> “……”
另外,EllisLab的副总裁 Leslie Camacho 在论坛上透露,官方的EE2.0新功能总结将会在本周团队回到总部之后才会张贴出来。SXSW 2008 到本周末才会结束,不知道EllisLab会不会也要玩到那时候……
来自:amio
DeadFire 发表此文章于 04/18 当天 01:24 PM(下午)
新闻 •
(0)
评论 • 讨论 • 交流 •
(0)
回溯 • 回溯地址 •
Permalink
安装 EE 的 MySQL Strict Mode 问题
越来越多的人遇到这个问题——因为用 MySql 5.0 的人越来越多了。
如果在安装ExpressionEneing(1.5.X)的过程中遇到这个错误:“Unable to perform the SQL queries needed to install this program. Please make sure your MySQL account has the proper GRANT privileges: CREATE, DROP, ALTER, INSERT, and DELETE.”
或者这个(EE 1.6.X 把错误提示修改得更加精确了):“ExpressionEngine will not run on a MySQL server operating in strict mode.”
这是因为 ExpressionEngine 每个表的主键都设置为auto_increment,安装过程中会向主键插入一个空字符串。在以前版本的MySQL中这没有问题,因为空字符串会被自动替换为编号数值,但是从5.0开始,MySQL默认以SQL Strict Mode运行,这样就行不通了。
解决方法很简单,禁用Strict模式。
最方便的方法是,开启MySQL命令行窗口,执行如下命令:
SET @@global.sql_mode=’MYSQL40’
此命令将MySQL运行模式设置为MySQL 4.0的默认模式,等效于:
SET @@global.sql_mode=’NO_FIELD_OPTIONS,HIGH_NOT_PRECEDENCE’
关于修改MySQL模式的更多方法(添加启动参数或者修改配置文件),可参考MySQL手册:5.1.6. SQL Modes
顺便也列举一下比较常见的修改 my.ini 方式:
在 my.ini 中搜索:
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
将此行注释掉(在行首添加“#”号),然后在其后添加一行:
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
最后就像这样:
#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
来自:amio
DeadFire 发表此文章于 04/18 当天 01:04 PM(下午)
使用 EE 建站 •
(0)
评论 • 讨论 • 交流 •
(0)
回溯 • 回溯地址 •
Permalink