Здравствуйте. Можно ли темизировать отображение атрибутов товара?
Собственно проблема:
В файле node--product.tpl.php сделал print_r($content)
<?php
[display_price] => Array
(
[#theme] => uc_product_price
....
[uc_product_image] => Array
(
[#theme] => field
....
[locations] => Array
(
[#type] => markup
[#theme] => locations
и т.д.
?>
Понятно что #theme указывает на файл (например locations.tlp.php), который лежит в папке соответствующего модуля.
Изменять его код я считаю неправильно.
Можно ли заставить шаблонизатор брать этот файл из папки с моей темой?
Комментарии
Если атрибуты реализованы через CCK, то это просто темизация CCK. Добавьте в папку со своей темой шаблоны вида content-название_cck_поля.tpl.php.
Для ССК полей сделал, как сказали, но почему-то не заработало.
А что делать с атрибутом Location, он добавляется модулем location?
Чтобы заработало помимо создания content-название_cck_поля.tpl.php надо content-field.tpl.php тоже скопировать из cck и не забудь очистить кэш, это ж темизация, могла запомнить какие файлы в theme папки лежали.
названия по памяти, но все есть в доке по cck модулю, кури README.txt какой нить.
В Drupal7 нет модуля CCK. Где мне tpl файлы искать?
Что на счет Location, это вроде не CCK поле?
у меня 7-ки нет, но могу посоветовать искать в папке drupal/modules, если конечно она есть в 7-ки как в 6-ки, что нибудь типа cck.
Судя по приведённому примеру, locations название функции theme_locations, так как точно знаю что можно земенить функцию theme_uc_product_price
модуль править не надо, чтобы темизировать вывод locations или цены,
думаю как и в 6-й версии достаточно вставить функцию:
английское_название_текущей_темы_locations
в template.php соответствующей темы и потом обязательная очистка темы.
Еще с 6-ки функция темизации в теме не будет видна пока друпал снова не пнуть, чтобы он проверил template.php на наличие новых функций темизации.
Спасибо, решено.