Как в 2.11.0 удалять поле из массива в записи типа контента?

 
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2623
Здравствуйте, уважаемые!
Вывожу поле вверху записи. Пробую удалить его из массива ниже:
Код PHP:
  1.  
  2. unset($fields['photo']); // photo - системное имя поля
  3.  
не получается (выводится ещё раз).
Подскажите, пожалуйста, как теперь его удалять.
Заранее благодарен!
Украинский для инстант
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1117
Мне пришлось внутри цикла пропускать поля, которые вывел выше
Код PHP:
  1. <?php if ($field['name'] == 'photos' || $field['name'] == 'phone' || $field['name'] == 'price'){ continue; } ?>
Дополнения для InstantCMS 2 | Готовый сайт Доска объявлений
Реклама
cms
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2623
Я тоже условием в цикле пока обошёлся (только весь вывод поля завернул в него). Но не привычно как-то. И менять много где придётся.
Да и просто хотелось бы понять почему unset не работает.
Спасибо!
Украинский для инстант
Посетитель
small user social cms
Сообщений: 44
Используйте вашу констукцию до вот этого, если речь о шаблоне записи:
Код PHP:
  1. $fields_fieldsets = cmsForm::mapFieldsToFieldsets($fields, function($field, $user) use ($item) {
  2. if (!$field['is_in_item'] || $field['is_system']) { return false; }
  3. if ((empty($item[$field['name']]) || empty($field['html'])) && $item[$field['name']] !== '0') { return false; }
  4. if ($field['groups_read'] && !$user->isInGroups($field['groups_read'])) { return false; }
  5. return true;
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2623
RBJ:
Используйте вашу констукцию до вот этого, если речь о шаблоне записи:
"Этого" нет в версии 2.11.0
Украинский для инстант
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2623
Fuze проконсультировал по этому поводу.
Кроме варианта, предложенного Evanescence, можно обозначить в базе нужные поля как системные.
Для себя решил остановиться на continue. Когда таких полей несколько, делаю массив с этими полями, а потом уже условие на вывод.
Украинский для инстант
Посетитель
small user social cms
МедальАвторитет форумаПочетный донор проекта
Сообщений: 1341
Олег Васильевич я, ради любопытства сделайте вывод всех массивов, и возможно ваше фото куда более длинное название имеет в записи.
Фриланс по Intantcms 1 и 2 версий.Писать в ЛС. Отзывы заказчиков
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2623
kirkr:

Олег Васильевич я, ради любопытства сделайте вывод всех массивов, и возможно ваше фото куда более длинное название имеет в записи.
Извините, не понял вас.
Украинский для инстант
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2623
Олег Васильевич я:
Кроме варианта, предложенного Evanescence, можно обозначить в базе нужные поля как системные.
Самый простой вариант ( Fuze): отключить показ таких полей в записи. И убрать условие на их показ, если оно раньше было выставлено.
Гениальное всегда просто))
Украинский для инстант
Посетитель
small user social cms
МедальАвторитет форумаПочетный донор проекта
Сообщений: 1341
Олег Васильевич я, мне когда понадобилось вывод делать в записях определенных полей была трудность именно с длиной в названии не просто $field а с кучей вложений , т.е. массивы в массивах.
Фриланс по Intantcms 1 и 2 версий.Писать в ЛС. Отзывы заказчиков
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.