HTML output vanuit Array halen
Om in een CMS afbeeldingen weer te kunnen geven moet ik in mijn template plaatsen
[code}
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
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:
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)
1
2
3
4
5
6
7
8
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
// ...
}
?>
$galleries = eg_return_gallery(); // alle gallerijen?
// aanname: gallerij met name "naam" bestaat
foreach ($galleries['naam']['items'] as $image) {
// doe iets met $image
// ...
}
?>
Code (php)
1
2
3
2
3
<?php eg_return_gallery($name = 'naam', $language = 'en', $instanceNum = 0)?>
echo $name[0];
echo $name[0];
Hoe haal ik de Var hieruit
Dit voorbeeld is me duidelijk
edit
had jullie post nog niet helemaal gelezen
Toevoeging op 08/10/2015 15:00:43:
Dit levert niets op
Code (php)
gallery1 is de naam van foto gallery
Toevoeging op 08/10/2015 15:25:24:
- SanThe - op 08/10/2015 14:35:56:
En wat heb je al (geprobeerd)?
Toevoeging op 08/10/2015 14:39:47:
Als je dit doet krijg je een duidelijker overzicht:
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:
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
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
Krijg maar niks terug,,kan natuurlijk nog ergens anders zitten..
Dit vond ik nog levert wel wat op (nog bekijken)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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>";
}
$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
Gewijzigd op 08/10/2015 16:48:51 door Pierre Web
Maak er gewoon een constant van, dan hoef je global ook niet te gebruiken.
Al het voorgaande gecombineerd:
Code (php)
(output escaping daar gelaten)
Misschien loont het de moeite je wat meer te verdiepen in (de werking van) arrays.
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