[Решено] Темизация атрибутов товара

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

Аватар пользователя bratok bratok 23 марта 2011 в 11:26

Здравствуйте. Можно ли темизировать отображение атрибутов товара?

Собственно проблема:
В файле 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), который лежит в папке соответствующего модуля.
Изменять его код я считаю неправильно.
Можно ли заставить шаблонизатор брать этот файл из папки с моей темой?

Комментарии

Аватар пользователя vadim_ vadim_ 23 марта 2011 в 12:24

Если атрибуты реализованы через CCK, то это просто темизация CCK. Добавьте в папку со своей темой шаблоны вида content-название_cck_поля.tpl.php.

Аватар пользователя bratok bratok 23 марта 2011 в 14:14

Для ССК полей сделал, как сказали, но почему-то не заработало.
А что делать с атрибутом Location, он добавляется модулем location?

Аватар пользователя Xermit Xermit 23 марта 2011 в 15:55

Чтобы заработало помимо создания content-название_cck_поля.tpl.php надо content-field.tpl.php тоже скопировать из cck и не забудь очистить кэш, это ж темизация, могла запомнить какие файлы в theme папки лежали.
названия по памяти, но все есть в доке по cck модулю, кури README.txt какой нить.

Аватар пользователя Xermit Xermit 25 марта 2011 в 2:37

у меня 7-ки нет, но могу посоветовать искать в папке drupal/modules, если конечно она есть в 7-ки как в 6-ки, что нибудь типа cck.
Судя по приведённому примеру, locations название функции theme_locations, так как точно знаю что можно земенить функцию theme_uc_product_price

модуль править не надо, чтобы темизировать вывод locations или цены,
думаю как и в 6-й версии достаточно вставить функцию:
английское_название_текущей_темы_locations
в template.php соответствующей темы и потом обязательная очистка темы.
Еще с 6-ки функция темизации в теме не будет видна пока друпал снова не пнуть, чтобы он проверил template.php на наличие новых функций темизации.