标签: template-toolkit

我在哪里可以找到Template Toolkit的"更高级的Web工具包"?

我真的很喜欢Template Toolkit,就像它如何与Catalyst一起工作,但我想要更多'web advanced'工具包.

对于像这样的Web对象,它可能只是一个*.tt文件包:Selector,Selector_DateTime,Menu,Data_Table ......

网络上有什么类似的东西吗?如果没有,为什么不呢?

perl catalyst template-toolkit

2
推荐指数
1
解决办法
331
查看次数

使用Perl的Template.pm,我如何从数组中选择一个随机元素并输出它?

假设我的模板中有以下内容:

[%- pages = [ 'one', 'two', 'three' ] -%]

<p>Go to page [%- ... -%]</p>
Run Code Online (Sandbox Code Playgroud)

假设EVAL_PERL成立(即我不能使用[%- PERL -%]块),我需要什么把里面[%- ... -%]的上方,从而得到下面的输出?

<p>Go to page "a randomly picked element of pages"</p>
Run Code Online (Sandbox Code Playgroud)

perl template-toolkit

2
推荐指数
1
解决办法
767
查看次数

如何使用RDBO强制模板工具包中的列表上下文?

我有一个TT插件,可以完成琐碎的独特ID:

sub get_unique_uid_tt {
  my ( $classname, $o ) = @_;

  my %h;

  foreach my $item ( @{$o} ) {
    unless ( exists $h{ $item->id } ) {
      $h{ $item->id } = 1;
    }
  }

  return keys %h;
}
Run Code Online (Sandbox Code Playgroud)

模板调用只是:

[% Namespace.get_unique_uid_tt( data.users ) %]
Run Code Online (Sandbox Code Playgroud)

"data"是一个RDB对象,用户是其关系之一.我已经验证".users"直接在Perl中返回一个列表,无论该关系是否有一个或多个元素.

但是,TT似乎返回单元素列表的元素,同时正确返回多个元素的列表.

我查了一下,发现你可以用".list"强制列表上下文:

[% Namespace.get_unique_uid_tt( data.users.list ) %]
Run Code Online (Sandbox Code Playgroud)

对于单元素列表,这不起作用,因为Data :: Dumper显示:

$VAR1 = [
      {
        'value' => 1,
        'key' => '__xrdbopriv_in_db'
      },
      {
        'value' => bless(
         ... snip ...
         ),
        'key' => 'db'
      },
      { …
Run Code Online (Sandbox Code Playgroud)

perl template-toolkit rose-db-object

2
推荐指数
1
解决办法
631
查看次数

获取Template :: Plugin :: Date接受MySQL日期和日期时间

我正在使用Template :: Toolkit的日期插件(Template :: Plugin :: Date),它适用于直接从MySQL中取出的日期时间(yyyy-mm-dd hh:mm:ss),但它不起作用与日期(yyyy-mm-dd).

获取date.format以接受日期(不修改sql查询)的最简单方法是什么?

谢谢.

mysql perl datetime date template-toolkit

2
推荐指数
1
解决办法
504
查看次数

格式化TemplateToolkit中输出的时间戳字段

我正在使用Perl和Catalyst框架,DBIx类作为ORM,TT作为视图,Postgresql作为DB.

我有一个带有'timestamp without timezone'类型的列,如果我在Postgres中进行手动查询,则列值是这样的格式2012-08-30 21:30:14,但是当我在TT视图文件中打印该值时,我得到它2012-08-30T15:03:13,所以很明显它会被格式化但是通过我究竟无法分辨的.

我想使用Template :: Plugin :: Date格式化输出时间戳,但我得到Catalyst错误:

无法渲染模板"xxx/list.tt2:日期错误 - 错误的时间/日期字符串:期望'h:m:sd:m:y'得到:'2012-08-30T21:28:22'"

代码在xxx/list.tt2中 [% date.format(xxx.created) %]

那么我该如何让它发挥作用呢?提前致谢.

postgresql perl catalyst template-toolkit dbix-class

2
推荐指数
1
解决办法
2366
查看次数

VIM中模板工具包(.tt文件)的语法突出显示

我的目标是使用扩展程序对文件进行语法突出显示,*.tt到目前为止,每次都是令人沮丧的"不".

我找到了这个vim-perl插件.使用遗留方法'make install'安装,没有任何反应.尝试使用病原体.

我正在尝试启用语法突出显示的文件有扩展名*.tt,我注意到vim-perl有tt2.vim文件.

我不是VIM的专家,但我很确定我已正确安装它.假设这么多,应该改变任何一个名为VIM,Perl的文件tt2.*tt.*工作(我已经试过了,事实并非如此)?

是什么赋予了?

vim syntax-highlighting template-toolkit vim-plugin vim-syntax-highlighting

2
推荐指数
1
解决办法
1704
查看次数

有没有办法将变量绑定到模板工具包模板?

我有一个数组,我传递给TT文件,用于填充导航栏.

我正在使用主模板作为主体内容的基础和子模板.

我想知道是否可以声明'主模板应该总是接收这个数组',而不是每次加载视图时都必须传递这个数组(哦,是的,我正在使用Dancer btw:P),ex :

get '/' => sub {
    template 'index', { for_all_i_know => $this_never_changes }
}

get '/about' => sub {
    template 'about', { for_all_i_know => $this_never_changes }
}
Run Code Online (Sandbox Code Playgroud)

而不是那样做,有没有办法清理它?就像是:

bind template 'main' { for_all_i_know => $this_never_changes };
Run Code Online (Sandbox Code Playgroud)

那样我就可以这样做:

get '/' => sub {
    template 'index';
}
Run Code Online (Sandbox Code Playgroud)

并且主模板仍会加载变量'for_all_i_know'

template-toolkit dancer

2
推荐指数
1
解决办法
103
查看次数

如何将模板传递给模板工具包函数中的子例程

我的文件foo.tt我想写这样的东西:

[% INCLUDE header('str', 1, 2, 3, 5, 10) %]
Run Code Online (Sandbox Code Playgroud)

我的目标是做一些字符串操作海峡,然后用的foreach/用于遍历各地的数字.

不幸的是,我无法发现模板工具包中的这种语法是允许的.

什么是模板工具包为什么将参数传递给子例程?

有什么想法怎么做?

perl template-toolkit

2
推荐指数
1
解决办法
457
查看次数

如何使用Template Toolkit打印递归数据结构?

我正在尝试使用Template Toolkit打印递归数据结构.如何在模板文件中对此进行描述?

我有一个数据结构(哈希数组)与这样的一些元素

ELEMENT
-> Description: XYXY
-> Childs: [Array of Child ELEMENTS of same type]
Run Code Online (Sandbox Code Playgroud)

子项可以包含一系列子元素.我现在想要递归地打印所有内容,包括子元素和子元素等等.

我怎样才能做到这一点?

perl template-toolkit

2
推荐指数
1
解决办法
261
查看次数

如何使用模板工具包访问数组的元素?

我想使用模板工具包直接访问数组元素。

例如我们可以很容易地做到这一点,

[% FOREACH item IN array %]
    [% item %]
[% END %]
Run Code Online (Sandbox Code Playgroud)

我可以在不使用任何循环的情况下直接访问 0th 、 1st 、 2nd 等元素吗?

例如

`[% array[0] %]`
Run Code Online (Sandbox Code Playgroud)

arrays perl loops template-toolkit

2
推荐指数
1
解决办法
799
查看次数