Загрузить только нужные поля ноды

Главные вкладки

Аватар пользователя daisy daisy 15 апреля 2010 в 7:39

Когда мы пользуемся функцией node_load(), он загружает всю структуру ноды. В целях экономии времени хочу загружать только пару полей, которые мне нужны.
Понятного описания, как это сделать, не нашла.
Подскажите, пожалуйста...

Комментарии

Аватар пользователя xxandeadxx xxandeadxx 15 апреля 2010 в 7:57

"daisy" wrote:
В целях экономии времени хочу загружать только пару полей, которые мне нужны.

скорость выборки практически не зависит от числа полей, тем более выбираете вы по первичному ключу

Аватар пользователя daisy daisy 15 апреля 2010 в 8:10

Но ведь в целях изучения можно попробовать? Я новичок в друпале, не знаю пока даже простых вещей.
Если знаете как, подскажите.

Аватар пользователя retuam retuam 15 апреля 2010 в 17:35

Уточните вопрос. Пару полей где? На странице самой ноды - так это можно идти от настройки отображения полей CCK до использования модуля Contemplate, например.

Если же на произвольной странице, так для этого можно использовать Views, или для Ваших целей - вьюхи слишком долгие и тяжелые, так выводите собственным модулем, кто ж запрещает, не хотите писать модуль, напишите собственный блок, и выводить используя уровень абстракции и запросы к базе.

К тому же, никогда не использовал, но есть упрощенный вариант вьсов.

Аватар пользователя Dan Dan 15 апреля 2010 в 18:51

"xxandeadxx" wrote:
скорость выборки практически не зависит от числа полей, тем более выбираете вы по первичному ключу

node_load делает не только выборку, но и опрос всех хуков, соответственно ручная выборка будет эффективнее, чем node_load.

daisy, посмотрите в БД и сделайте выборку вручную, с помощью АПИ ф-ций: db_query, db_query_range, db_rewrite_sql и т.д.