Drupal6: Как обрабатывать ссылки на узлы в атрибутах профиля пользователя? - PullRequest
0 голосов
/ 27 августа 2009

Одним из полей в моих профилях пользователей является список узлов. (Этот список создается автоматически на основе других данных на сайте.) В настоящее время он отображается следующим образом:

Узлы

nid1, nid2, nid3

Я хочу, чтобы это выглядело так:

1012 * Вершина *

$ nid1-> title, $ nid2-> title, $ nid3-> title

где каждый заголовок является ссылкой на свой узел. Каков наилучший способ сделать это? Я попытался заполнить поле ссылками, сгенерированными l (), но html отфильтровывается.

Также, при использовании l (), есть ли способ сказать: создать ссылку на узел с $ nid, где бы он ни находился во время выполнения?

1 Ответ

0 голосов
/ 28 августа 2009

По первому вопросу:

Значения полей списка профилей проходят через ´check_plain () in profile_view_field () `, так что вы можете получить разметку там только после их загрузки, что оставляет вам как минимум две опции, в зависимости от того, где Вы хотите изменить вывод:

  1. Реализуйте hook_user() и в операции 'view' измените значения полей в массиве $ account-> content (Убедитесь, что вес ваших модулей меньше веса модуля профиля, иначе значения не будут быть там еще).

  2. Добавьте свои собственные функции предварительной обработки для всех шаблонов, в которых используются поля, и внесите в них свои корректировки. На первый взгляд, это должно быть следующим, но список может быть неполным:

    1. yourModule_preprocess_profile_block() (модуль профиля)
    2. yourModule_preprocess_profile_listing() (модуль профиля)
    3. yourModule_preprocess_user_profile_item() (пользовательский модуль)

Что касается второго вопроса:

Кроме того, при использовании l (), есть ли способ сказать: создать ссылку на узел с $ nid, где бы он ни находился находится во время выполнения?

Я не понимаю, что вы подразумеваете под "независимо от того, где он находится во время выполнения". Что-нибудь, на что не распространяется следующее?

l('SomeTitle', 'node/' . $nid)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...