0

我的 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">- 这个缩放效果以及图像路径等。

非常感谢任何帮助..谢谢。

4

3 回答 3

2

只需将更多信息放入您传递给的数组中foreach,例如:

$banners = array(
    0 => array('color' => 'blue'),
    1 => array('color' => 'red', 'animation' => 'fade'),
    2 => array('color' => 'green', 'animation' => 'slide'),
);

然后你可以在你的 foreach 中使用它:

foreach($banners as $banner) {
    echo $banner['color'];
}
于 2013-02-07T10:15:57.017 回答
0

如果设置保存在模块的 .xml 文件中,您可以使用$params->get('param_name');它从 xml 中获取数据。

于 2013-02-07T10:16:53.587 回答
0

您需要预定义这些值并将它们存储在您使用的数组中。并且不要直接打印出来。最好存储输出并在最后打印出来:

$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 大小的循环并打印出同样的东西。

于 2013-02-07T10:21:49.840 回答