Здравствуйте!
Очень нужно изменить вид корзины в Ubercart 3 под Drupal 7.8. Убрать все текстовые ссылки и сделать только одну иконку, у которой рядом будет написано что-то вроде "В корзине Х товаров на Y рублей". Иконка уже запускает просмотр корзины в блоке "content".
Я ковырялся в тексте соответствующего модуля, там все сделано через массивы такого вида:
То есть, условно, вот эту функцию t('View cart') заменить бы на стандартную функцию вывода картинки - но как?
Прошу помочь!
Для Drupal 6.x для корзины написано много интересного, а вот для 7.х практически ничего нет.
И еще вопрос - проще ли или сложнее ли подобную задачу решить на eCommerce?
UPD: Нашел решение через CSS.
Оно мне не очень нравится, но уровень знаний другого не позволяет.
Вот как это выглядит (лишние строчки опускаю):
{ background: #fff url(/sites/default/files/cart.png) no-repeat 10px 10px; }
#block-uc-cart-cart table[class=cart-block-items] { display: none; }
#block-uc-cart-cart table[class=cart-block-summary]
{ position:relative;
top:25px;
left:60px; }
#block-uc-cart-cart li { border:none; }
#block-uc-cart-cart li a
{ display:block;
width:40px;
height:40px;
position:absolute;
top:-15px;
left:-50px; }
#block-uc-cart-cart li[class="cart-block-checkout last"] { display: none; }
Плюс в тексте модуля в t('View cart') надо убрать текст.
Остаются артефакты - правее и ниже остается небольшая текстовая зона (ее можно "нащупать" мышкой, вид курсора меняется). Если не вставить строчку #block-uc-cart-cart li { border:none; } справа от этой области появляется граница. Как избавиться от этой области, сохранив ссылку, я не нашел.
Мне кажется, в строке 'title' => t('View cart'), вместо t('View cart') можно закинуть какое-то пустое значение, и тогда эта область исчезнет, но я не соображу, какое именно.
Если можно что-то улучшить, прошу прокомментировать.
Комментарии
Вам нужно просто текст убрать?
ну в css так можно убрать
какой то ID или class {
display: block;
text-indent: -9999px;
width: 0;
}
Открываем template.php нашей темы и переопределяем вышеуказанную функцию таким образом:
<?phpfunction YOURTHEME_uc_cart_block_summary($variables) {
$item_count = $variables['item_count'];
$item_text = $variables['item_text'];
$total = $variables['total'];
$summary_links = $variables['summary_links'];
$output = '<table class="cart-block-summary"><tbody><tr>'
. '<td class="cart-block-summary-items">В вашей корзине<br />' . $item_text . '<br />на сумму ' . theme('uc_price', array('price' => $total)) . '</td></tr>';
$output .= '</tbody></table>';
return $output;
}?>
*Меняем YOURTHEM на название нашей темы.