我很难丢掉我不想要的表达式,并保留我所做的位.
问题是 - 给定输入字符串:
{if cond}foo{else}bar{/if}
Run Code Online (Sandbox Code Playgroud)
我想要:
0: {if cond}foo{else}bar{/if}
1: cond
2: foo
3: bar
Run Code Online (Sandbox Code Playgroud)
并为输入字符串:
{if cond}foo{/if}
Run Code Online (Sandbox Code Playgroud)
我想要:
0: {if cond}foo{else}bar{/if}
1: cond
2: foo
3:
Run Code Online (Sandbox Code Playgroud)
我目前得到的正则表达式如下:
\{if ([a-z0-9]+)\}([^\{]*?)(((?:\{else\})?)(.*?)?)\{/if\}
Run Code Online (Sandbox Code Playgroud)
我收到以下数据:
0: {if cond}foo{else}bar{/if}
1: cond
2:
3: foo{else}bar
4:
5: foo{else}bar
Run Code Online (Sandbox Code Playgroud)
这将需要进一步解析该foo{else}bar位以获得相应的值.
我的正则表达式是否近在咫尺?
我不太关心可能会运行的数据类型 - 包括{在if语句的主体中允许打破正则表达式.值的foo和bar可以是任何不包括a的值{.
谢谢,
大教堂
{if $GLOBALS.current_user.group.id != "Employer"}
<li><a href="{$GLOBALS.site_url}/find_jobs/" >[[Find Jobs]]</a></li>
<li class="sep"></li>
<li><a href="{$GLOBALS.site_url}/add_listing/?listing_type_id=Resume" >[[Post Resumes]]</a></li>
<li class="sep"></li>
{/if}
Run Code Online (Sandbox Code Playgroud)
只是想弄清楚这段代码.我认为它是在说"如果当前用户是?或者不是?成员或集团'雇主',请将以下链接放入..."
这是什么?
谢谢
我试图在Smarty 3呈现的网页中使用微小的mce(JS编辑器).但是当我使用下面的代码时,它会抛出以下错误
具体消息是:第564行"/home/xxx/xxx/websites/site.local/views/xxx/newnl.html.tpl"中的语法错误"m.add({title:"Subject {test}" ,onclick:function(){" - Unexpected":",期望的一个:"}",""
代码:
<script language="javascript" type="text/javascript" src="http://127.0.0.1/./js/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
tinymce.create("tinymce.plugins.yyyPlugin", {
createControl: function(n, cm) {
switch (n) {
case "tm_menubutton":
var c = cm.createMenuButton("tm_menubutton", {
title : "yyy",
image : "http://127.0.0.1/./img/yyy_logo.png",
icons : false
});
c.onRenderMenu.add(function(c, m) {
m.add({title : "Subject {test}", onclick : function() {
tinyMCE.activeEditor.execCommand("mceInsertContent", false, "{test}");
}});
});
}
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
有人可以看看吗?谢谢
我真的很喜欢这些聪明的文档,但有时很难找到简单的东西...所以继承我的问题.是否可以在条件中设置var?这是一个有很多欧元符号的大模板.现在还有另一种新语言,但他们不支付欧元.所以不要为每个欧元符号周围的语言设定条件.我想使用一个var,它在我的模板的开头设置一次,语言条件如下:
{if $lang eq 'ch'}
{*need to set "CHF" as a smarty or php var*}
{else}
{*need to set "EURO" as a smarty or php var*}
{/if}
<div class="payment">{$price} {*CHF or EURO var*}</div>
Run Code Online (Sandbox Code Playgroud) 我有一个表单,我在向导中提交一些信息.此页面通过POST到达并与Smarty一起显示.一旦我提交了所有信息,我正在使用另一个帖子来到另一个页面.现在,问题是,当我尝试使用BACK按钮返回时,我正在查看"文档已过期"消息.
我使用POST时是不是正常的事情?
我现在正在尝试使用GET,但没有任何改变,或者我的GET写错了.
这是一个小模式:
Page 1 -> POST -> Page 2 (wizard) -> POST -> Page 3
Run Code Online (Sandbox Code Playgroud)
当我尝试从第3页回到第2页时,我认为文档已过期.
非常感谢您对我的问题的帮助.
如何从字符串中删除Smarty中的第一个单词,如下所示:
$variable = "Word Quick brown fox";
然后在输出上使它看起来像这样:
$variable = "Quick brown fox";
有没有办法在没有修饰符的情况下做到这一点?我知道你可以制作自定义修改器,然后使用$variable|customModifier并得到你想要的东西,但我想也许已经有内置的解决方案呢?
在prestashop 1.5上,我想要做的是在右侧初始创建一个要求客户的表单
你想要_____吗:
(1)含税的显示价格(2)不含税的显示价格
然后答案存储在一个聪明的会话变量中.(我认为这是最好的方法吗?)
然后在product.tpl页面上,会有if,else命令
如果会话变量'displaytax'
含税价格
如果会话变量'displaynotax'
价格不含税
否则结束如果
任何人都可以帮助代码:
(1)最初创建这个简单的表单并存储会话变量?(2)要恢复会话变量,以便在if else语句中使用它?
非常感谢花时间去看
我只需要你的代码帮助.我的问题是如何在jquery或javascript文件中访问smarty变量?因为我的smarty变量是来自我的控制器的URL请求.我需要使用该变量来创建验证.这是我的代码.
{$get.search_by} {**works without error**}
{literal}
<script type="text/javascript">
$(document).ready(function(){
var dispatch = "{$get.search_by}"; //can't access
var new_class = "it3 ir3 il3 jt10 jr05 jl05 kt03 kr04 kl04";
var old_class = "it3 ib3 il3 jt05 jb05 jl10 kt04 kb04 kl03";
var toggleState = true;
//could not access
if(dispatch == companies.catalog){
alert("catalog");
}else{
alert("product search");
}
console.log(dispatch);
Run Code Online (Sandbox Code Playgroud) 我正在开展一个我正在使用if条件的聪明项目.
{if $userroleid neq 12 || $userroleid neq 13 || $userroleid neq 14 }
<a href="{$v.feature_url}" class="re-upload"> Re-upload</a>
{else}
<a href="{$v.feature_url}" class="re-upload"> View</a>
{/if}
Run Code Online (Sandbox Code Playgroud)
我尝试了上面的代码.
我的假设:如果$userroleid等于12或13或14,它应显示"查看",否则应显示"重新上传".
它现在显示"重新上传",如果$userroleid等于12.
我做错了什么?
我见过以下问题对我也没有帮助.
我在 Linux 上使用 Php Smarty。
我的 PHP 文件中有一行:
$phpsmart->display("pagetemplate.tpl");
Run Code Online (Sandbox Code Playgroud)
该行应该显示pagetemplate.tpl. 事实并非如此。
我将我的代码从smarty迁移到twig
但我似乎没有找到如何在树枝上这样做
智者:
$smarty->assign('Config',$Core->settings);
Run Code Online (Sandbox Code Playgroud)
我怎么能在Twig中这样做?
出于某种原因我的代码不起作用?!我需要检查复选框,如果所有都是"未选中",则启用隐藏字段并将值发送到db,这样我就可以确定未选中复选框.
问题1:为什么我的jquery代码不起作用?
问题2:我需要将已检查或未检查的值记录到DB.我的计划是检查是否在php中没有选中.这是一个好习惯吗?
HTML
<tr class="more_info">
<th valign="top">Other options:</th>
{foreach from=$HTML_cOPTIONS key=dbname item=optname}
{if ! empty($CARINFO[car].{$dbname})}
<td><input type="checkbox" id="forced_checkbox" name="c_options[]" value="{$dbname}" checked/> {$optname} </br></td>
{else}
<td><input type="checkbox" id="forced_checkbox" name="c_options[]" value="{$dbname}"/> {$optname} </br></td>
{/if}
{/foreach}
<input type="hidden" id="forceSendCheckBox" name="c_options[]" value="nocheckboxes"/>
<input type="button" value="Check" id="check" />
</tr>
Run Code Online (Sandbox Code Playgroud)
jQuery的
$('#check').bind('click',function()
{
if ($('#forced_checkbox').filter(':not(:checked)').length == 0) {
console.log('at least one checked');
$("#forceSendCheckBox").prop('disabled',true);//do not send this field to DB
} else {
console.log('nothing checked');
$("#forceSendCheckBox").prop('disabled',false);//send empty checkboxes
}
});
Run Code Online (Sandbox Code Playgroud)
UPDATE
这是一个小提琴,它似乎仍然被打破.: - / …