简体   繁体   中英

Two dimensional array in Twig

I have satellite images stored in a mysql database. The table has attributes latitude,longitude. I want to send them to the twig and display as a map, my php controller looks like this.

public function highlightAction()
{
    $highlighted=$this->getDoctrine()
        ->getRepository('AppBundle:satelliteImage')
        ->findAll();

    $images = array();
    foreach ($highlighted as $key => $high) {
        $images[$key] = base64_encode(stream_get_contents($high->getImage()));
    }

    return $this->render('satelliteImages/highlighted.html.twig',array(
        'highlighted' => $highlighted,
        'images' => $images

    ));

}

My twig code is this:

    <tbody>
    {% for key,high in highlighted %}
        <tr>
            <img alt="Embedded Image" src="data:image/png;base64,{{ images[key] }}" />

        </tr>
    {% endfor %}
    </tbody>

I am displaying the images as a vertical array. Any suggestions, I might need to display them as a map. A two dimensional array in twig?

You can use something like this:

<table>
    <tbody>
    {% for key in 0..2  %}
        <tr>
            {% for key in 0..3 %}
                <td>
                    <img alt="Embedded Image" src="data:image/png;base64,
                        {{ images[loop.parent.key*4 + key] }}" />
                </td>
            {% endfor %}
        </tr>
    {% endfor %}
    </tbody>
</table>

Read the Twig for documentation .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM