Убираем вывод блока дополнительных картинок из uc_product, если он пустой
Возникла в проекте необходимость не выводить через модуль ubercart product (uc_product.module) открывающий и закрывающий блоки <div class="more-product-images"> дополнительные картинки здесь </div>
на конечную страницу при отсутствии в этом блоке картинок. Блок темизирован и без картинок получается не в тему.
Постил запрос о решении на drupal.org, но там все на морозе - не ответили. Пришлось думать самому. Т.к. PHP я только начал осваивать придумал только приведённое ниже решение, наверное не элегантно и говнокод страшный, но по-другому пока не умею. Буду благодарен за подсказки если где накосячил, ну и для развития.
+ была необходимость засунуть clearfix, тоже там есть.
<?phpfunction theme_uc_product_image($variables) {
static $rel_count = 0;
$images = $variables['images'];
// Get the current product image widget.
$image_widget = uc_product_get_image_widget();
$first = array_shift($images);
$output = '<div class="product-image"><div class="main-product-image">';
$output .= '<a href="' . image_style_url('uc_product_full', $first['uri']) . '" title="' . $first['title'] . '"';
if ($image_widget) {
$image_widget_func = $image_widget['callback'];
$output .= $image_widget_func($rel_count);
}
$output .= '>';
$output .= theme('image_style', array(
'style_name' => 'uc_product',
'path' => $first['uri'],
'alt' => $first['alt'],
'title' => $first['title'],
));
$output .= '</a></div>';
foreach ($images as $thumbnail) {?>