我的PHP不太好,我正在尝试为joomla构建一个小模块,目前我有以下代码:
<?php $a = array(1, 2, 3, 4); ?>
<div class="bannercontainer">
<ul>
<?php foreach($a as $v): ?>
<li data-transition="fade" data-startalign="left,bottom" data-zoom="in" data-zoomfact="5" data-endalign="center,top" data-panduration="12" data-colortransition="4">
<img alt="" src="images/slides/image1.jpg" data-thumb="images/thumbs/thumb1.jpg">
<div class="creative_layer">
<div class="clear"></div>
</div>
</li>
<?php endforeach; ?>
</ul>
</div>
</div>
基本上,数组中的每个数字都会为滑块生成一个带有图像等的列表项。。但是我如何将其他东西与它联系起来,以便它生成,但也取决于xml文件中的设置,例如,它还改变了<li data-transition="fade" data-startalign="left,bottom" data-zoom="in" data-zoomfact="5" data-endalign="center,top" data-panduration="12" data-colortransition="4">
-这种缩放效果以及图像路径等。
非常感谢您的帮助。。谢谢
只需将更多信息放入传递给foreach
的数组中,例如:
$banners = array(
0 => array('color' => 'blue'),
1 => array('color' => 'red', 'animation' => 'fade'),
2 => array('color' => 'green', 'animation' => 'slide'),
);
然后你可以在前臂上使用它:
foreach($banners as $banner) {
echo $banner['color'];
}
您需要预定义这些值,并将它们存储在您使用的数组中。不要直接打印出来。最好存储输出并在最后打印出来:
$a = array(
array(
'data-transition' => 'fade',
'data-startalign' = > 'left,bottom',
...
'data-thumb' => 'images/thumbs/thumb1.jpg'
),
array(
'data-transition' => 'no-fade',
'data-startalign' = > 'top,bottom',
...
'data-thumb' => 'images/thumbs/thumb2.jpg'
)
...
);
$output = '<div class="bannercontainer">
<ul>';
foreach( $a as $v ) {
$output .= '<li data-transition="'.$v['data-transition'].'" data-startalign="'.$v['data-startalign'].'" data-zoom="in" data-zoomfact="5" data-endalign="center,top" data-panduration="12" data-colortransition="4">
<img alt="" src="'.$v['data-thumb'].'" data-thumb="'.$v['data-thumb'].'">
<div class="creative_layer">
<div class="clear"></div>
</div>
</li>';
}
$output .= '</ul>
</div>';
echo $output;
基本上,你现在正在做的是创建一个4大小的循环,并打印出相同的东西。
如果设置保存在模块的.xml文件中,则可以使用$params->get('param_name');
从xml中获取数据。