Для шаблона для ubercart в файле template.php сделал следующее:
<?php
if ($vars['template_files'][0] == 'node-product') {
$node = node_build_content(node_load($vars['nid']));
$vars['fusion_uc_image'] = drupal_render($node->content['image']);
$vars['fusion_uc_body'] = drupal_render($node->content['body']);
$vars['fusion_uc_display_price'] = drupal_render($node->content['display_price']);
$vars['fusion_uc_add_to_cart'] = drupal_render($node->content['add_to_cart']);
$vars['fusion_uc_weight'] = drupal_render($node->content['weight']);
$vars['fusion_uc_dimensions'] = drupal_render($node->content['dimensions']);
$vars['fusion_uc_model'] = drupal_render($node->content['model']);
$vars['fusion_uc_list_price'] = drupal_render($node->content['list_price']);
//эта строка НЕ РАБОТАЕТ :(
$vars['fusion_uc_list_price'] = str_replace('USD', '', drupal_render($node->content['list_price']));
$vars['fusion_uc_sell_price'] = drupal_render($node->content['sell_price']);
$vars['fusion_uc_cost'] = drupal_render($node->content['cost']);
$vars['fusion_uc_additional'] = drupal_render($node->content);
}
?>
В шаблоне затем использую <?php print $fusion_uc_image; ?>
и т.п.
Все хорошо и все работает, кроме строки $vars['fusion_uc_list_price'] - мне нужно символ валюты для этой строки убрать. Никак не получается.
Точнее в самом шаблоне легко прокатывает <?php $fusion_uc_list_price = str_replace('USD', '', $fusion_uc_list_price);?>
Но это неудобно и не правильно, ИМХО.
Может есть другие пути или я не правильно делаю? мне надо заменить символ валюты только для данного поля. В идеале это нужно глобально для любого отображения в ubercart.
Как лучше, кто знает?