Вот такая функция Уберкарта, вывод панелей с данными покупателя на странице просмотра заказа
<?php
function uc_order_view($order, $view = 'view') {
$panes = _order_pane_list($view);
foreach ($panes as $pane) {
if (in_array($view, $pane['show']) &&
variable_get('uc_order_pane_'. $pane['id'] .'_show_'. $view, $pane['enabled'])) {
$func = $pane['callback'];
if (function_exists($func) && ($contents = $func($view, $order)) != NULL) {
$output .= '<div class="order-pane '. $pane['class'] .'">';
if ($func('show-title', NULL) !== FALSE) {
$output .= '<div class="order-pane-title">'. $pane['title'] .': '
. $func('view-title', $order) .'</div>';
}
$output .= $contents .'</div>';
}
}
}
return
$output;
}
?>
Нужно всего-то облачить $contents в доп. слоя. Насколько я понял, дальше она через хук нигде не проходит, девел вообще не видит эти панели
Как быть в такой ситуации (без хака) . Концептуально и, если можно, подробнее
Комментарии
Без хака кажись никак. Можно сделать как надо прямо в модуле (добавить хуки), сделать патч и отправить эту фичу в issues с надеждой что её оценят и добавят в HEAD.
Печально. Немного парни (респект им и уважуха!) из Уберкарта не доработали с темизацией. Есть куча узких мест, которые только править в ядре.
Так какие проблемы?
1. Сначала ищем патч в issues.
2. Если находим - патчим свою копию модуля, проверяем. если все ок, следим за развитием патча и самого модуля.
3. Если патч есть но не работает, можно сделать самому, и отправить новый комментарий в найденный issue и предложить свой вариант.
4. Если issue с патчем не был найден, также делаем все сами и отправляем патч на d.org.
Важно помнить о правилах работы с issues http://drupaldance.com/blog/5-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB-%D1%8....
Может в template.php через ENGINE_preprocess_node или THEME_preprocess_node?