Mojolicous::插件::TagHelpers-标记助手插件
#Mojolicious公司$app->plugin(“标签助手”);#Mojolicious::精简插件“TagHelpers”;
Mojolicious::插件::TagHelpers是的HTML标记帮助程序的集合Mojolicious公司,基于HTML生活标准.
大多数表单帮助器都可以自动拾取以前的输入值,并将其显示为默认值。您还可以使用Mojolicious::Plugin::DefaultHelpers中的“param”手动设置它们,并始终自动生成必要的属性。
%param country=>“德国”,除非param“国家”;<%=radio_button country=>“德国”%>德国<%=radio_button country=>“法国”%>法国<%=radio_button country=>'uk'%>英国
对于验证失败的字段Mojolicious::Plugin::DefaultHelpers中的“验证”这个现场无误
类将通过自动添加“标记错误”,使CSS样式更容易。
<input class=“field-with-error”name=“age”type=“text”value=“250”>
这是一个核心插件,这意味着它始终处于启用状态,它的代码是学习如何构建新插件的好例子,欢迎您使用fork。
请参见Mojolicious::PLUGINS中的“PLUGINS”获取默认可用插件的列表。
Mojolicious::插件::TagHelpers实现以下助手。
%=资产标签'/app.js'%=asset_tag“/app.js”,async=>“async”
生成脚本
,链接
或国际货币基金组织
静态资产的标记。
%=button_to测试=>“some_get_route”%=button_to测试=>some_get_route=>{id=>23}=>(类=>“菜单”)%=button_to测试=>'http://example.com/test'=>(class=>“菜单”)%=button_to删除=>“some_delete_route”
生成便携形式
标记为“表单用于”,包含单个按钮。
<form action=“/path/to/get/route”><输入type=“submit”value=“Test”></form><form action=“/path/to/get/route/23”class=“menu”><输入type=“submit”value=“Test”></form><表单操作=“http://example.com/test“class=”menu“><输入type=“submit”value=“Test”></form><form action=“/path/to/delete/route?_method=delete”method=“POST”><input type=“submit”value=“Remove”></form>
%=复选框“已雇用”%=使用的复选框=>1%=check_box employed=>1,checked=>undef,id=>'foo'
生成输入
类型标签复选框
。将自动拾取以前的输入值并显示为默认值。
<input name=“employed”type=“checkbox”><input name=“employed”type=“checkbox”value=“1”><input checked id=“foo”name=“employed”type=“checkbox”value=“1”>
%=color_field“背景”%=color_field background=>“#ffffff”%=color_field background=>“#ffffff”,id=>“foo”
生成输入
类型标签颜色
。将自动拾取以前的输入值并显示为默认值。
<input name=“background”type=“color”><input name=“background”type=“color”value=“#ffffff”><input id=“foo”name=“background”type=“color”value=“#ffffff”>
%=csrf_button_to删除=>“some_delete_route”
等同于“button_to”,但还包括“csrf_field”.
<form action=“/path/to/delete/route?_method=delete”method=“POST”><input name=“csrf_token”type=“hidden”value=“fa6a08…”><input type=“submit”value=“Remove”></form>
%=csrf_field
生成输入
类型标签隐藏
具有Mojolicious::Plugin::DefaultHelpers中的“csrf_token”.
<input name=“csrf_token”type=“hidden”value=“fa6a08…”>
%=日期字段'end'%=日期字段结束=>“2012-12-21”%=日期字段结束=>“2012-12-21”,id=>“foo”
生成输入
类型标签日期
。将自动拾取以前的输入值并显示为默认值。
<input name=“end”type=“date”><输入name=“end”type=“date”value=“2012-12-21”><input id=“foo”name=“end”type=“date”value=“2012-12-21”>
%=datetime_field“结束”%=日期时间字段结束=>“2012-12-21T23:59:59”%=datetime_field end=>“2012-12-21T23:59:59”,id=>“foo”
生成输入
类型标签本地日期时间
。将自动拾取以前的输入值并显示为默认值。
<input name=“end”type=“datetime-local”><input name=“end”type=“datetime-local”value=“2012-12-21T23:59:59”><input id=“foo”name=“end”type=“datetime-local”value=“2012-12-21T23:59:59”>
%=电子邮件字段'notify'%=电子邮件字段通知=>'nospam@example.com'%=电子邮件字段通知=>'nospam@example.com',id=>'foo'
生成输入
类型的标签电子邮件
。将自动拾取以前的输入值并显示为默认值。
<input name=“notify”type=“email”><input name=“notify”type=“email”value=“nospam@example.com"><input id=“foo”name=“notify”type=“email”value=“nospam@example.com">
%=蚕豆%=favicon'/favicon.ico';
生成链接
favicon的标签,默认为Mojolicious附带的标签。
<link rel=“icon”href=“/mojo/favicon.ico”><link rel=“icon”href=“/favicon.ico”>
%=file_field“化身”%=file_field“avatar”,id=>“foo”
生成输入
类型标签文件
.
<input name=“avatar”type=“file”><input id=“foo”name=“avatar”type=“file”>
%=form_for-login=>开始%=text_field'first_name'%=提交按钮%结束%=form_for-login=>{format=>'txt'}=>(method=>'POST')=>开始%=text_field'first_name'%=提交按钮%结束%=form_for'/login'=>(enctype=>“multipart/form-data')=>开始%=text_field'first_name',disabled=>'disabled'%=提交按钮%结束%=form_for'http://example.com/login'=>(方法=>'POST')=>开始%=text_field'first_name'%=提交按钮%结束%=form_for some_delete_route=>开始%=submit_button“删除”%结束
生成便携形式
标记为Mojolicious::Controller中的“url_for”。对于不允许的路线GET(获取)
,一个方法
属性的值邮政
将自动添加。对于除GET(获取)
或邮政
,一个_方法
也将添加查询参数。
<form action=“/path/to/login”><input name=“first_name”type=“text”><input type=“submit”value=“Ok”></form><form action=“/path/to/login.txt”method=“POST”><input name=“first_name”type=“text”><input type=“submit”value=“Ok”></form><form action=“/path/to/login”enctype=“multipart/form-data”><input disabled=“disabled”name=“first_name”type=“text”><input type=“submit”value=“Ok”></form><表单操作=“http://example.com/login“method=”POST“><input name=“first_name”type=“text”><input type=“submit”value=“Ok”></form><form action=“/path/to/delete/route?_method=delete”method=“POST”><input type=“submit”value=“Remove”></form>
%=hidden_field foo=>“bar”%=hidden_field foo=>“bar”,id=>“bar'”
生成输入
类型标签隐藏
.
<input name=“foo”type=“hidden”value=“bar”><input id=“bar”name=“foo”type=“hidden”value=“bar”>
%=图像'/images/foo.png'%=image'/images/foo.png',alt=>'foo'
生成便携国际货币基金组织
标签。
<img src=“/path/to/images/foo.png”><img alt=“Foo”src=“/path/to/images/Foo.png”>
%=input_tag“first_name”%=input_tag first_name=>“默认”%=input_tag“employed”,type=>“checkbox”
生成输入
标签。以前的输入值将自动拾取并显示为默认值。
<input name=“first_name”><input name=“first_name”value=“Default”><input name=“employed”type=“checkbox”>
%=javascript'/script.js'%=javascript'/script.js',defer=>undef%=javascript开始常数a=“b”;%结束
生成便携脚本
JavaScript资产的标记。
<script src=“/path/to/script.js”></script><script defer src=“/path/to/script.js”></script><脚本><![CDATA(CDATA)[常数a=“b”;]]></script>
%=label_for-first_name=>“名字”%=label_for-first_name=>“名字”,class=>“用户”%=label_forfirst_name=>开始名字%结束%=label_forfirst_name=>(class=>“用户”)=>开始名字%结束
生成标签
标签。
名字<label class=“user”for=“first_name”>名字<label for=“first_name”>名字</label><label class=“user”for=“first_name”>名字</label>
%=链接到主页=>“索引”%=link_to主页=>“索引”=>{format=>“txt”}=>(类=>“菜单”)%=link_to索引=>{format=>“txt”}=>(class=>“menu”)=>开始主页%结束%=link_to联系人=>“mailto:sri@example.com'<%=link_to index=>开始%>主页<%end%><%=link_to'/file.txt'=>begin%>文件<%end%><%=链接到'https://mojolicious.org'=>begin%>Mojolicious<%end%><%=link_to url_for->query(foo=>“bar”)->to_abs=>开始%>重试<%end%>
生成便携一
标记为Mojolicious::Controller中的“url_for”,默认使用大写的链接目标作为内容。
主页</a>主页</a><a class=“menu”href=“/path/to/index.txt”>主页</a><a href=“mailto:sri@example.com“>联系人</a>主页</a>文件</a><a href=“https://mojolicious.org“>嘲讽</a><a href=“http://127.0.0.1:3000/current/path?foo=bar“>重试</a>
的第一个参数链接到(_T)
是链接内容,除非最后一个参数是Perl代码,例如模板块(使用开始
和结束
关键词);在这种情况下,在参数列表的开头省略链接内容,而块将成为链接内容。
%=month_field“假期”%=month_field假期=>“2012-12”%=month_field假期=>“2012-12”,id=>“foo”
生成输入
类型标签月
。将自动拾取以前的输入值并显示为默认值。
<输入name=“假期”type=“月”><输入name=“假期”type=“月”value=“2012-12”><input id=“foo”name=“vocation”type=“month”value=“2012-12”>
%=number_field“年龄”%=number_field年龄=>25%=number_field年龄=>25,id=>'foo',最小=>0,最大=>200
生成输入
类型标签数
。将自动拾取以前的输入值并显示为默认值。
<input name=“age”type=“number”><输入name=“age”type=“number”value=“25”><input id=“foo”max=“200”min=“0”name=“age”type=“number”value=“25”>
%=密码字段“pass”%=password_field“pass”,id=>“foo”
生成输入
类型标签密码
.
<input name=“pass”type=“password”><input id=“foo”name=“pass”type=“password”>
%=收音机按钮“测试”%=收音机按钮国家=>“德国”%=radio_button country=>“德国”,选中=>undef,id=>“foo”
生成输入
类型标签收音机
。将自动拾取以前的输入值并显示为默认值。
<input name=“test”type=“radio”><input name=“country”type=“radio”value=“德国”><input checked id=“foo”name=“country”type=“radio”value=“德国”>
%=range_field“年龄”%=范围字段年龄=>25%=范围字段年龄=>25,id=>“foo”,最小值=>0,最大值=>200
生成输入
类型标签范围
。将自动拾取以前的输入值并显示为默认值。
<input name=“age”type=“range”><输入name=“age”type=“range”value=“25”><input id=“foo”max=“200”min=“200“name=”age“type=”range“value=”25“>
%=搜索字段'q'%=search_field q=>“perl”%=search_field q=>“perl”,id=>“foo”
生成输入
类型标签搜索
。将自动拾取以前的输入值并显示为默认值。
<input name=“q”type=“search”><input name=“q”type=“search”value=“perl”><input id=“foo”name=“q”type=“search”value=“perl”>
%=select_field country=>['de','en']%=select_field country=>[[德国=>‘de’],‘en’],id=>‘eu’%=select_field country=>[[德国=>‘de’,selected=>‘selected’],‘en’]%=select_field country=>[c(欧盟=>[[德国=>'de'],'en'],id=>'EU')]%=select_field country=>[c(EU=>['de','en']),c(亚洲=>['cn','jp'])]
生成选择
和选项
数组引用中的标记和选项组
标签来自Mojo::系列物体。以前的输入值将自动拾取并显示为默认值。
<select name=“country”><option value=“de”>de</option><option value=“en”>en</option></选择><select id=“eu”name=“country”>德国<option value=“en”>en</option></选择><select name=“country”>德国<option value=“en”>en</option></选择><select name=“country”><optgroup id=“eu”label=“eu”>德国<option value=“en”>en</option></optgroup></选择><select name=“country”><optgroup label=“EU”><option value=“de”>de</option><option value=“en”>en</option></optgroup><optgroup label=“亚洲”><option value=“cn”>cn<option value=“jp”>jp</optgroup></选择>
%=样式表'/foo.css'%=stylesheet'/foo.css',title=>'foo style'%=样式表开始正文{颜色:#000}%结束
生成便携风格
或链接
CSS资产的标记。
<link href=“/path/to/foo.css”rel=“stylesheet”><link href=“/path/to/foo.css”rel=“stylesheet”title=“foo style”><风格><![CDATA(CDATA)[正文{颜色:#000}]]></style>
%=提交按钮%=submit_button“好的!”,id=>“foo”
生成输入
类型标签提交
.
<input type=“submit”value=“Ok”><input id=“foo”type=“submit”value=“Ok!”>
%=t div=>“测试&123”
的别名“标签”.
<div>测试;123</div>
%=标记“br”%=标记'div'%=标记“div”,id=>“foo”,hidden=>undef%=标记'div','test&123'%=标记“div”,id=>“foo”,“test&123”%=标记“div”,数据=>{my_id=>1,名称=>“test”},“test&123”%=标记div=>开始测试&123%结束<%=标记div=>(id=>“foo”)=>开始%>测试&123<%end%>
的别名Mojo::DOM中的“new_tag”.
<br><div><div id=“foo”隐藏><div>测试;123</div><div id=“foo”>测试;123</div><div data-my-id=“1”data-name=“test”>test&;123</div><div>测试&123</div><div id=“foo”>测试&123
对于在更具体的标记帮助器中重用非常有用。
我的$output=$c->标记('meta');my$output=$c->标记('meta',charset=>'UTF-8');my$output=$c->标记('div','<p>这将被转义</p>');my$output=$c->标记('div',sub{'<p>这不会被转义);
结果自动包装Mojo::ByteStream防止意外双重逃逸的物体电动自行车
模板。
%=tag_with_error“输入”,class=>“foo”
等同于“标签”,但添加了类现场无误
.
<input class=“foo field-with-error”>
%=tel_field“工作”%=电话_现场工作=>“123456789”%=tel_field work=>“123456789”,id=>“foo”
生成输入
类型标签电话
。将自动拾取以前的输入值并显示为默认值。
<input name=“work”type=“tel”><input name=“work”type=“tel”value=“123456789”><input id=“foo”name=“work”type=“tel”value=“123456789”>
%=text_area“故事”%=text_area“故事”,列=>40%=text_area story=>“默认”,列=>40%=text_area故事=>(cols=>40)=>开始违约%结束
生成文本区域
标签。以前的输入值将自动拾取并显示为默认值。
<textarea name=“story”></textarea><textarea cols=“40”name=“story”>默认值<textarea cols=“40”name=“story”>违约</text区域>
%=text_field“第一名称”%=text_field first_name=>“默认”%=text_field first_name=>“默认”,class=>“用户”
生成输入
类型标签文本
。将自动拾取以前的输入值并显示为默认值。
<input name=“first_name”type=“text”>输入名称=“first_name”type=“text”><input name=“first_name”type=“text”value=“Default”><input class=“user”name=“first_name”type=“text”value=“Default”>
%=time_field“开始”%=时间字段开始=>“23:59:59”%=time_field开始=>“23:59:59”,id=>“foo”
生成输入
类型标签时间
。将自动拾取以前的输入值并显示为默认值。
<input name=“start”type=“time”><输入name=“start”type=“time”value=“23:59:59”><input id=“foo”name=“start”type=“time”value=“23:59:59”>
%=url_field“地址”%=url_field地址=>'https://mojolicious.org'%=url_field地址=>'https://mojolicious.org',id=>'foo'
生成输入
类型标签网址
。将自动拾取以前的输入值并显示为默认值。
<input name=“address”type=“url”><input name=“address”type=“url”value=“https://mojolicious.org"><input id=“foo”name=“address”type=“url”value=“https://mojolicious.org">
%=week_field“假期”%=week_field假期=>“2012-W17”%=week_field假期=>“2012-W17”,id=>“foo”
生成输入
类型标签周
。将自动拾取以前的输入值并显示为默认值。
<input name=“休假”type=“周”><input name=“假期”type=“周”value=“2012-W17”><input id=“foo”name=“vocation”type=“week”value=“2012-W17”>
Mojolicious::插件::TagHelpers从继承所有方法Mojolicious::插件并实现以下新功能。
$plugin->register(Mojolicios->new);
在中注册助手Mojolicious公司应用程序。
Mojolicious公司,Mojolicious::指南,https://mojolicious.org.