基于对象计数创建一个可变的布局(PHP)

时间:2015-07-26 19:13:39

标签: php html zurb-foundation

所以我最近问了一个问题which for all intense and purposes was correct

问题是输出不是我想要的。

在我所说的答案中,我需要复制这种类型的布局,我演示了我如何使用10个对象。

enter image description here

以下代码存在问题:

echo "<div class='row'>";
    for($i = 0; $i < count($options['fields']); $i++) {

        // Increate the value of I and convert it from 1 to one.
        $numberToWord = new FreyaTheme\NumberToWord\Conversion();
        $wordRepersentation = $numberToWord->convert($i + 1);

        if (isset($options['fields']['logo_image_' . $wordRepersentation])) {
            if ($i <= 2) {
                echo '<div class="medium-4 columns r3x1">';
                    echo '<img src="'.$options['fields']['logo_image_' . $wordRepersentation].'" />';
                echo '</div>';
            } else if ($i <= 6) {
                echo '<div class="medium-3 columns r4x1">';
                    echo '<img src="'.$options['fields']['logo_image_' . $wordRepersentation].'" />';
                echo '</div>';
            } else if ($i <= 9) {
                echo '<div class="medium-4 columns r3x1">';
                    echo '<img src="'.$options['fields']['logo_image_' . $wordRepersentation].'" />';
                echo '</div>';
            }
        }
    }
echo "</div>";

它是否有效,仅适用于十个物体。

我给出的答案给了我这个布局,10次。那不是我想要的。

for ($i = 0; $i < count($logoPosts); $i++) {
    if ($i % 2 === 0) {
        for ($cell = 0; $cell < 4; $cell++) {
            echo '<div class="medium-3 columns">Hello World 3</div>';
        }
    } else {
        for ($cell = 0; $cell < 3; $cell++) {
            echo '<div class="medium-4 columns">Hello World 4</div>';
        }
    }
}

这给了我10次上面的图片布局。只有10个对象。所以这应该只放一次。如果有二十个这个布局应该发生两次。等等。

问题在于,如果此人只给出x,则布局应保持其形状。

此布局存在一个问题

让我说我给你22件物品。这是课程需要改变的地方。到目前为止,对于3个对象,您获得medium-4,对于4个对象,您获得medium-3

但是因为我给了你22件物品,它应该有点像这样:

medium-4 | medium-4 | medium-4 |
medium-3 | medium-3 | medium-3 | medium-3
medium-4 | medium-4 | medium-4 |
medium-4 | medium-4 | medium-4 |
medium-3 | medium-3 | medium-3 | medium-3
medium-4 | medium-4 | medium-4 |
medium-6 | medium-6

如你所见,我已经完成了10个,10个,2个共22个物体。

想象一下,我给你67件物品:10,10,10,10,10,10,4,3

所以重点是列必须根据count($logoPosts)进行更改。

我将如何实现这一目标?

让我们从12开始。我将得到以下内容:

medium-4 | medium-4 | medium-4 |
medium-3 | medium-3 | medium-3 | medium-3
medium-4 | medium-4 | medium-4 |
medium-6 | medium-6

0 个答案:

没有答案