Переменная в пути обьекта в FENOM
Подскажите, может кто знает как подставить переменную в путь объекта?
Например итоговый вывод такой: $resp->material->wall->width, но нужно что-то на подобие $resp->material->($type)->width. То есть часть пути объекта является переменной. Всю голову сломал.
Вижу, что есть не понимание — пожалуй напишу детский пример.
Есть 3 значения в объекте $resp, которые нужно перебрать: wall, ceil, floor методом foreach. Внимание вопрос: как можно подставить переменную чтобы fenom сработал?
Например итоговый вывод такой: $resp->material->wall->width, но нужно что-то на подобие $resp->material->($type)->width. То есть часть пути объекта является переменной. Всю голову сломал.
Вижу, что есть не понимание — пожалуй напишу детский пример.
Есть 3 значения в объекте $resp, которые нужно перебрать: wall, ceil, floor методом foreach. Внимание вопрос: как можно подставить переменную чтобы fenom сработал?
{foreach ['wall','ceil','floor'] as $type}
{$resp->material->($type)->width}
{/foreach}
Комментарии: 10
Документация говорит, что вот такое возможно:
{$foo.$bar}
github.com/fenom-template/fenom/blob/master/docs/ru/syntax.md
Точка ставится при массиве. Так что в ответ знакомое: «Cannot use object of type stdClass as array...»
А причём тут fenom?
Вообще не понял ваш вопрос. Но все равно отвечу — вывод на странице. Он в этом участвует.
Переформулирую вопрос.
$resp->material->wall->width
Это не синтаксис феном. Это не путь к файлу. Так чего же вы хотите?
Артур, ну если вам нужно еще детальнее, то пускай будет так, чтобы было понятнее что это синтаксис феном:
{$resp->material->wall->width}
Если вы не знаете ответа, зачем спамить в тикете? Вопрос был поставлен ясно и четко.
Извините, я в вашем велосипеде, не узнал fenom. Желаю удачи.
А обязательно чтобы тот же $resp был обьектом, а не массивом? вы же как-то получаете обьект, так переведите его в массив. )
Кэп, можно). Но вопрос был не об этом.
Если не сработает стандартная PHP конструкция
$resp->material->{$type}->width
, то рекомендую написать сниппет или модификатор, который корректно обработает данные и вернет желаемый результат. Все же стоит помнить о том, что Fenom — это шаблонизатор. И как в любом шаблонизаторе должно быть минимум логики.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.