поэтому я только начинаю использовать mustache.php, и я застреваю, пытаясь зациклить хотя бы двухмерный массив. У меня есть массив, который выглядит так …
$FeedArray = array(3) { [0]=> array(3) { ["entity"]=> string(10) "mail"["time"]=> string(19) "2015-02-05 05:10:26"["title"]=> string(0) "what's up?" }
[1]=> array(3) { ["entity"]=> string(5) "event"["time"]=> string(19) "2015-02-05 03:16:54"["title"]=> string(15) "asfasggasdgasdg" }
[2]=> array(3) { ["entity"]=> string(10) "mail"["time"]=> string(19) "2015-01-11 14:24:08"["title"]=> string(24) "lunch?" } }
Я пытаюсь зациклить, хотя это так:
$eventTemplate = file_get_contents('templates/GroupPageEvent.mustache');
$postTemplate = file_get_contents('templates/GroupPagePost.mustache');
foreach ($FeedArray as $entity => $row){
if ($row['entity_type']=='mail'){
echo $m->render($postTemplate, $entity);
}
if ($row['entity_type']=='event'){
echo $m->render($eventTemplate, $entity);
}
}
Я знаю, что мои шаблоны работают хорошо и все. Просто я не передаю в подмассив ($ entity) должным образом, и все выведенные шаблоны пусты.
if $row['entity_type'}==?
тоже правильно читает.
Любая помощь приветствуется.
Это потому, что вы передаете ключ вашей функции рендеринга, $entity
содержит ключи массива (0,1,2 …) и ваш массив enity хранится в $row
foreach ($FeedArray as $entity => $row){
в этом случае вы должны сделать это:
echo $m->render($postTemplate, $row);
а также в массиве вы получили ключ «entity», а не «entity_type», поэтому измените это тоже:
$row['entity_type']=='mail'
чтобы:
$row['entity']=='mail'
Других решений пока нет …