darknemo
Total posts: 10
19 Нояб 2015 23:04

Я пилю под себя шаблон, т.к. вывод всех исходных полей списком в кучу мне не подходит. Я решил выводить каждоее поле по fields_by_id[] - и все вроде хорошо. Можно по шаблону раскидать куда угодно и классов навешать.

Но возник вопрос с полем адреса. Мне нужно вывести карту как обычно, блоком после всех полей, а телефон выдернуть и вставить в шапке страницы. Можно было бы конечно создать отдельное поле и проблем нет. Но раз уж разработчики его туда уже поместили - почему бы и нет.

Так вот я вывожу в шаблоне - var_dump($item->fields[5]); 5 это ид поля с картой и телефоном. На выходе я получаю массив. Но с пхп я не особо. Что мне дописать чтоб вывести именно номер телнфона?

Должно быть что то типа - echo $item->fields_by_id[5]->result->get('tel')

Но это не то ) Подскажите!)

Последние изменения: 23 Нояб 2015


asmuz
Total posts: 102
20 Нояб 2015 13:14

drinkmaker VIP
Total posts: 25
20 Нояб 2015 13:14

Если приведёте пример того, что выдаёт var_dump($item->fields[5]->value);

Я подскажу как обратится к нужному элементу массива.


darknemo
Total posts: 10
20 Нояб 2015 20:05

drinkmaker Если приведёте пример того, что выдаёт var_dump($item->fields[5]->value);

Я подскажу как обратится к нужному элементу массива.

array(3) { ["address"]=> array(2) { ["city"]=> string(29) "Санкт-Петербург" ["address1"]=> string(34) "3, Варшавская улица" } ["position"]=> array(4) { ["lat"]=> string(17) "59.88055419921875" ["lng"]=> string(18) "30.312702178955078" ["zoom"]=> string(2) "13" ["marker"]=> string(11) "wedding.png" } ["contacts"]=> array(1) { ["tel"]=> string(11) "89112220909" } }

это мне выдает var_dump($item->fields[5]);

а ваша конструкция var_dump($item->fields[5]->value); выдает NULL


darknemo
Total posts: 10
21 Нояб 2015 10:28

drinkmaker Если приведёте пример того, что выдаёт var_dump($item->fields[5]->value);

Я подскажу как обратится к нужному элементу массива.

Методом научного тыка вывел..

echo ($item->fields_by_id[5]->value['address']['city']);

echo ($item->fields_by_id[5]->value['address']['address1']);

echo ($item->fields_by_id[5]->value['contacts']['tel']);

echo ($item->fields_by_id[5]->value['position']['lat']);

Проблема в том, что если поле в настройках отключено, оно не отображается.. как обойти?


asmuz
Total posts: 102
22 Нояб 2015 17:51

darknemo

drinkmaker Если приведёте пример того, что выдаёт var_dump($item->fields[5]->value);

Я подскажу как обратится к нужному элементу массива.

Методом научного тыка вывел..

echo ($item->fields_by_id[5]->value['address']['city']);

echo ($item->fields_by_id[5]->value['address']['address1']);

echo ($item->fields_by_id[5]->value['contacts']['tel']);

echo ($item->fields_by_id[5]->value['position']['lat']);

Проблема в том, что если поле в настройках отключено, оно не отображается.. как обойти?

мне кажется проще создать телефон отдельным полем


Sergey
Total posts: 13,748
23 Нояб 2015 13:54

darknemo Проблема в том, что если поле в настройках отключено, оно не отображается.. как обойти?

Включить в настроках и исключить в настроках шаблона. Таким образом в массиве полей оно будет а в списке отображаться не будет.

Работает на Cobalt