2010-10-12 5 views
0

Я новичок в тематике Drupal. Я хочу сделать следующее: У меня есть тип содержимого продукта, с которым я манипулирую его node-product.tpl.php, Тип содержимого продукта имеет поле CCK типа «Встроенное видео» (с использованием найденного Media-модуля на http://drupal.org/project/media). , так как мне нужно обернуть «Embedded Video» поле сTheming node-xxx.tpl.php

тегом я хочу добавить к моему узлу-product.tpl.php некоторого PHP кода, который выглядит, как эти: «печать тема (...)»

я нашел на сайтах/все/модулей/файл CCK/контент-модуль следующую функцию:

«функция content_theme() {

$ путь = drupal_get_path 'модуль' ( , 'содержание'). '/ theme'; require_once "./$path/theme.inc";

возвращение массива ( 'content_field' => массив ( 'шаблон' => 'содержимое поля', 'аргументы' => Array ('элемент' => NULL), 'путь' => $ путь , ),»...

от этого кода, я предполагаю, что я мой код должен быть: " тему печати ('content_field', $) элемент "

пару вопросов: 1. я на правильном пути? Должен ли я использовать функцию темы, я вызываю правильную тему с крюком? 2. Предполагая, что я прав, я не могу сказать, что такое параметр $ element, на моем node-product.tpl.php у меня есть параметры $ node, в которых есть много данных, как я могу получить от параметр $ node - правильный элемент $, который должен быть отправлен в функцию темы (...)? 3. Есть ли способ узнать, как каждый модуль зарегистрировал имя крючка темы и параметры, которые они ожидают получить, чем просмотр кода модуля?

спасибо за чтение моего длинного вопроса, помощь будет оценена.

ответ

2

ССК поля доступно на объекте узла в двух форматах:

  • $node->field_[field_name]
  • $node->field_[field_name]_rendered

Визуализированной версия является тематической версией поля CCK, содержащим все разметок , другая версия представляет собой массив, содержащий визуализированную версию и другие данные, хранящиеся в CCK.

Вы должны иметь возможность делать то, что хотите, без функции темы, используя данные, которые CCK ввел на объект узла.

+0

спасибо. – Oded

+0

плохой я просто понял это от отладки кода drupal. У узла $ есть поле_ [имя_поля], где я могу найти все данные, которые мне нужно манипулировать моим node.tpl.php. большое спасибо – Oded

0

Просто используйте функцию print_r() в следующий раз. ;-) Например, в этом случае ищите print_r ($ node), и вы увидите много положительных героев.

 Смежные вопросы

  • Нет связанных вопросов^_^