提前感谢您的帮助。
我在Concrete5中创建了办公时间块。某些部门在某些日子没有开放,所以我试图制作一个复选框,如果选中则显示“已关闭”而不是办公时间。这是星期日的一个例子:
<div class="form-group">
<?php echo $form->label("Sundayclosed", t("Sunday (close)")); ?>
<?php echo (isset($btFieldsRequired) && in_array('Sundayclosed', $btFieldsRequired) ? '<small class="required">' . t('Required') . '</small>' : null); ?>
<?php echo $form->text("Sundayclosed", $Sundayclosed > 0 ? date("g:i A", $Sundayclosed) : null, array ('autocomplete' => 'off', )); ?>
</div>
我的代码工作并显示块中设置的打开和关闭时间。但是,我不知道如何添加一个复选框来显示“已关闭”,而不是在块中设置的时间。
有人会介意帮我吗?非常感谢你!
答案 0 :(得分:0)
如果我很清楚你提供的那段代码,那就是你输入周日关闭时间的文本框,你想要的是一个复选框,在文本框的顶部,没有代替它,表示该商店在周日关闭,并显示&#34;已关闭&#34;在您的网站上关闭。
首先,在您的区块设置中,您需要添加复选框:
<?php echo $form->label("SundayTotallyClosed", t("Sunday (totally close)"));
echo $form->checkbox("SundayTotallyClosed", 1, $SundayTotallyClosed); ?>
然后在您的街区视图中,您希望&#34;关闭&#34;显示:
<?php if ($SundayTotallyClosed) {
echo "Closed";
} else {
// put here the code that normally shows the closing time
}
保存设置时要小心,复选框只有在选中后才会发送要保存的值,否则不会发送任何内容。问题是如果您选中并保存它,则保存值1。如果稍后取消选中并保存,则不会发送任何内容,因此不会保存任何内容,因此值仍为1.
保存时处理这个问题的方法是确保你有:
$SundayTotallyClosed = SundayTotallyClosed ? 1 : 0;
然后正常保存