【发布时间】:2013-09-03 01:57:26
【问题描述】:
我正在使用带有引导程序的 Joomla 来创建 Joomla 模板。我有一个 3 列布局(容器总共 12 个,所以 Bootstrap:span12)。我在 Joomla 后端设置参数以设置 $left 和 $right 列宽,然后在我的模板中回显这些变量以设置左右 div 列宽(在 index.php 中)
但是,我想在我的模板中使用一些简单的逻辑,根据后端参数中输入的 $left 和 $right 值自动计算和设置中间列的跨度值。
我对 PHP 的了解几乎为零,因此请原谅我这段代码的粗俗。我只想检查我正在做的事情是正确的还是愚蠢的,或者是否有更好的方法。这就是我正在做的......
<?php
$left = $this->params->get('sidebarLeftWidth', '');
$right = $this->params->get('sidebarRightWidth', '');
$grid = 12;
$span = $grid - ( $left + $right );
?>
然后在我的 html 中设置我的中间列的宽度 - 只需...
class="span<?php echo $span; ?>"
【问题讨论】:
-
params->get do 中的 '' 是什么(如果未找到则为默认值)。如果是,则将其设置为 0(零)。否则使用 $span = $grid - ( intval($left) + intval($right) );以防这些值不是数字或具有附加字符,即 120 像素而不是 120。
-
感谢您的意见杰夫。我将参数输入设置为下拉列表,因此我知道 $left 和 $right 的值将始终有效,因此我很高兴。您认为不检查它们是否只是数字可能存在安全风险?我承认我不知道参数中 '' 的用途。我正在研究如何纯粹通过阅读 Joomla 附带的默认模板和其他一些示例中的代码来做到这一点。 Joomla 有所有适当的参考资料,这在很大程度上似乎是一个反复试验和逆向工程的案例
标签: php joomla joomla-template joomla3.1