Forums / National / Russian / Тех. поддержка / Редактирование common.php

Для дополнения массива $usr.

Landgraft
#1 2010-10-01 01:55
Возникла задача: нужно дополнить массив $usr несколькими значениями из соответствующих новых полей таблицы%db_users.

Редактирование файла system/common.php помогло, но не нравится, что придется при обновлении вручную смотреть изменения в файле. Есть у кого какие мысли как дополнить массив $usr без прямого редактирования? Кроме плагина с дополнительным запросом ничего не приходит в голову, но вот этот самый дополнительный запрос тоже не нравится...

ЗЫ: может имеет смысл распространить систему хуков и на некоторые служебные файлы?
Trustmaster
#2 2010-10-01 02:10
Ларчик открывается просто. Все переменные вида user_* из $db_users хранятся в $usr['profile']['user_*']
May the Source be with you!
Landgraft
#3 2010-10-01 04:42
Спасибо, действительно, просто!

А есть ли какая-нибудь подсказка (что-то вроде code_reference) по поводу всех возможных массивов для обращения к данным и, заодно, способов вывода данных через {PHP.____._______}? Многим бы пригодилось, imho.
Sergeich
#4 2010-10-01 11:01
Нет такой подсказки, с документацией вобще тяжко в Котонти. Надо делать.
esclkm
#5 2010-10-01 17:13
частичто шукай тут на сайте на форуме. частично страницах тут же.. и еще в блогах на seditio.by
littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты
Oughtem
#6 2010-10-04 01:52
Вопрос давно валяется в ЧАВо, но никто из понимающих никак не доберётся ней.
Trustmaster
#7 2010-10-04 14:39
Перечислить все теги {PHP.*} невозможно в принципе. Эта конструкция выводит глобальную переменную PHP. Например {PHP.lang} выводит переменную $lang из глобальной области видимости. Если использовать точку после имени переменной, то это аналогично доступу к элементу массива или свойству объекта. Например, {PHP.usr.profile.user_extra5} не что иное, как обращение к переменной $usr['profile']['user_extra5']. Обычно чтобы узнать о какой-то такой переменной нужно залезть в код, ответственный за вывод соответствующей части. Своего рода чёрная магия.
May the Source be with you!
terracota
#8 2010-10-04 23:35
Trustmaster: гениально! Буду цитировать :)

Кстати, посмотрел референс для котонти cot-ref-0.6.3_5 — это сильно. Но на вопрос как же быть с документацией пока не отвечает. И все равно очень интересно.
Логика и здравый смысл творят чудеса.
Logic and Sanity makes a real magic happens.