HTML output vanuit Array halen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pierre Web

Pierre Web

08/10/2015 14:30:20
Quote Anchor link
Hallo,

Om in een CMS afbeeldingen weer te kunnen geven moet ik in mijn template plaatsen

[code}
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php  print_r(eg_return_gallery()); // Return associative array  ?>


Dit levert iets op als:
Array ( [naam] => Array ( [name] => naam [title] => gallery1 [items] => Array ( [0] => Array ( [filename] => uploads/afb.jpg [width] => 400 [height] => 225 [thumb-0] => Array ( [filename] => test/thumbs/foto1.jpg [width] => 187 [height] => 132 ) [thumb-1] => Array ( [filename] => [width] => [height] => ) [field-0] => ) [1] => Array ( [filename] => uploads/foto2.jpg [width] => 221 [height] => 228 [thumb-0] => Array ( [filename] = .....

Nou moet ik iets van een loop gebruiken om HTML terug te krijgen , maar dat lukt niet.

Joni Fleischer:
Graag de volgende keer in de titel van je topic duidelijk maken wat je vraag is.
Gewijzigd op 08/10/2015 14:38:32 door Joni Fleischer
 
PHP hulp

PHP hulp

27/04/2024 06:04:46
 
- SanThe -

- SanThe -

08/10/2015 14:35:56
Quote Anchor link
Pierre Web op 08/10/2015 14:30:20:
Nou moet ik iets van een loop gebruiken om HTML terug te krijgen , maar dat lukt niet.


En wat heb je al (geprobeerd)?

Toevoeging op 08/10/2015 14:39:47:

Als je dit doet krijg je een duidelijker overzicht:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<pre>'.print_r(eg_return_gallery(), true).'</pre>';
?>
 
Thomas van den Heuvel

Thomas van den Heuvel

08/10/2015 14:42:31
Quote Anchor link
In het subarray "naam" bevindt zich een subarray met (nogmaals) het element "name" met waarde "naam", het element "title" en het element "items", die de afbeeldingen bevat. Dit geheel is dus een associatief array met gallerijen-op-naam.

Mogelijk accepteert eg_return_gallery() ook een parameter met de gallerij-naam om informatie van een specifieke gallerij op te halen (in plaats van alle gallerijen)?

Je zou de afbeeldingen op gallerijnaam (bijvoorbeeld de gallerij met waarde "naam") als volgt kunnen doorlopen (en mogelijk is dit dus nog te vereeenvoudigen):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$galleries
= eg_return_gallery(); // alle gallerijen?
// aanname: gallerij met name "naam" bestaat

foreach ($galleries['naam']['items'] as $image) {
    // doe iets met $image
    // ...

}
?>
 
Pierre Web

Pierre Web

08/10/2015 14:46:27
Quote Anchor link
2e aangegeven mogelijkheid
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
  <?php eg_return_gallery($name = 'naam', $language = 'en', $instanceNum = 0)?>

echo $name[0];


Hoe haal ik de Var hieruit

Dit voorbeeld is me duidelijk
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$arr=array('vingers'=>'hand','tenen'=>'voet');

echo $arr['vingers'];


edit
had jullie post nog niet helemaal gelezen


Toevoeging op 08/10/2015 15:00:43:

Dit levert niets op
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$galleries
= eg_return_gallery(); // alle gallerijen?
// aanname: gallerij met name "naam" bestaat

foreach ($galleries['gallery1'] as $image) {
    // doe iets met $image
    // ...

    echo $image;
}

?>

gallery1 is de naam van foto gallery


Toevoeging op 08/10/2015 15:25:24:

- SanThe - op 08/10/2015 14:35:56:
Pierre Web op 08/10/2015 14:30:20:
Nou moet ik iets van een loop gebruiken om HTML terug te krijgen , maar dat lukt niet.


En wat heb je al (geprobeerd)?

Toevoeging op 08/10/2015 14:39:47:

Als je dit doet krijg je een duidelijker overzicht:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<pre>'.print_r(eg_return_gallery(), true).'</pre>';
?>

Array
(
[naam] => Array
(
[name] => naam
[title] => gallery1
[items] => Array
(
[0] => Array
(
[filename] => uploads/foto.jpg
[width] => 400
[height] => 225
[thumb-0] => Array
(
[filename] =>Gallery/foto1.jpg
[width] => 187
[height] => 132
)

[thumb-1] => Array
(
[filename] =>
[width] =>
[height] =>
)

[field-0] =>
)

[1] => Array
(
[filename] => uploads/foto3.jpg
[width] => 221
[height] => 228
[thumb-0] => Array
(
[filename] => Gallery/thumbs/foto4.jpg
[width] => 153
[height] => 164
)
Gewijzigd op 08/10/2015 15:26:36 door Pierre Web
 
Thomas van den Heuvel

Thomas van den Heuvel

08/10/2015 16:02:11
Quote Anchor link
Goed kijken, ik zeg niet:

foreach ($galleries['gallery1'] as $image) {

maar

foreach ($galleries['gallery1']['items'] as $image) {

EDIT: items dus :s
Gewijzigd op 08/10/2015 16:02:53 door Thomas van den Heuvel
 
Pierre Web

Pierre Web

08/10/2015 16:22:48
Quote Anchor link
Bedankt,

Krijg maar niks terug,,kan natuurlijk nog ergens anders zitten..

Dit vond ik nog levert wel wat op (nog bekijken)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// component {% gallery %}
$galleryItems = eg_return_gallery('Test');
debugLog($galleryItems);

echo "<h2>Gallery ".$galleryItems['title']."</h2>";
echo "<ul>";
array_walk($galleryItems['items'],'output');
echo "</ul>";

function output($item,$key){
    GLOBAL $SITEURL;
    echo "<div>";
    echo '<a href="'.$SITEURL.'/data/'.$item['filename'].'" rel="lightbox">';
    echo '<img src="'.$SITEURL.'/data/'.$item['thumb-0']['filename'].'">';
    echo "</a>";
    echo "</div>";
}


Via de gegeven code van San The is te zien dat er waarschijnlijk mogelijk is om alle galerijen te laten zien

dat lukt nog niet
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$galleryItems = eg_return_gallery('Test');
Gewijzigd op 08/10/2015 16:48:51 door Pierre Web
 
Marthijn Buijs

Marthijn Buijs

08/10/2015 16:52:12
Quote Anchor link
Waarom een variable in hoofdletters?
Maak er gewoon een constant van, dan hoef je global ook niet te gebruiken.
 
Thomas van den Heuvel

Thomas van den Heuvel

08/10/2015 16:57:25
Quote Anchor link
Zucht, $image is ook weer een array he, hierin zitten in ieder geval de velden filename, width en height en blijkbaar ook af en toe weer subarrays met thumbnails.

Al het voorgaande gecombineerd:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$galleries
= eg_return_gallery();
foreach ($galleries['gallery1']['items'] as $image) {
    ?>
<img src="<?php echo $image['filename'] ?>" height="<?php echo $image['height'] ?>" width="<?php echo $image['width'] ?>" alt="" /><?php
}
?>

(output escaping daar gelaten)

Misschien loont het de moeite je wat meer te verdiepen in (de werking van) arrays.
 
Pierre Web

Pierre Web

08/10/2015 17:27:08
Quote Anchor link
Bedankt,

Dat levert in elk geval wat op.

Is het mogelijk om alle galerijen te laten zien? uitgaande van de array hierboven

en deze (testnaampje) zal iets van een titel tag kunnen worden als voorbeeld.
[field-0] => eenveld222
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.