По первому вопросу:
Значения полей списка профилей проходят через ´check_plain () in
profile_view_field () `, так что вы можете получить разметку там только после их загрузки, что оставляет вам как минимум две опции, в зависимости от того, где Вы хотите изменить вывод:
Реализуйте hook_user()
и в операции 'view' измените значения полей в массиве $ account-> content (Убедитесь, что вес ваших модулей меньше веса модуля профиля, иначе значения не будут быть там еще).
Добавьте свои собственные функции предварительной обработки для всех шаблонов, в которых используются поля, и внесите в них свои корректировки. На первый взгляд, это должно быть следующим, но список может быть неполным:
yourModule_preprocess_profile_block()
(модуль профиля)
yourModule_preprocess_profile_listing()
(модуль профиля)
yourModule_preprocess_user_profile_item()
(пользовательский модуль)
Что касается второго вопроса:
Кроме того, при использовании l (), есть ли способ
сказать: создать ссылку на узел с
$ nid, где бы он ни находился
находится во время выполнения?
Я не понимаю, что вы подразумеваете под "независимо от того, где он находится во время выполнения". Что-нибудь, на что не распространяется следующее?
l('SomeTitle', 'node/' . $nid)