Полезняшка. Сниппет вывода текущих скидок модуля Total Discount

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 3 июля 2010 в 1:24

Есть довольно полезный модуль накопительных скидок Order Total Discount, который сделал широко известный товарищ glu2006, но имеющий недостаток - он не предоставляет блок, который бы показывал актуальную систему скидок для посетителя.

Я написал простой сниппет, который берёт запросом установленные ставки скидок и отображает в таблице в блоке или в ноде

<?php

if (module_exists('uc_discount_total')) { 
$rates_res db_query('SELECT * FROM uc_discount_total');
if (
$rates_res->num_rows != NULL) {
print 
t('Currently we have the following discount rates enabled');
print 
'<table class="discount-rates">
<tr>
<th>'
.t('Total amount range').'</th>
<th>'
.t('Your discount').'</th>
</tr>'
;
while(
$row db_fetch_array($rates_res)) {
print 
'<tr>
<td>'
.round($row['total_min']).' &#8212; '.round($row['total_max']).'</td>
<td>'
.round($row['total_rate']).'</td>
</tr>'
;
}
print 
'</table>';
}
}

?>

Может кому будет полезно

Комментарии

Аватар пользователя FORTIS FORTIS 3 июля 2010 в 2:55

пригодится. с theme table попроще:

if (module_exists('uc_discount_total')) {
$rates_res = db_query('SELECT * FROM uc_discount_total');
if ($rates_res->num_rows != NULL) {
$header = array(t('Total amount range'), t('Your discount'));
while($row = db_fetch_array($rates_res)) {
        $rows[] = array(round($row['total_min']) . ' &#8212; ' . round($row['total_max']), round($row['total_rate']));
}
print theme('table', $header, $rows, array('class' => 'discount-rates'), t('Currently we have the following discount rates enabled'));
}
}
Аватар пользователя glu2006 glu2006 3 июля 2010 в 11:13

Пишите полезности на друпал орг. Я освобождаюсь примерно к середине июля +- 3 дня и буду делать новый релиз модуля. Там уже скопилось по нему более чем достаточно. Так что чем больше накомитите, тем больше появится в новой версии.

Аватар пользователя direqtor direqtor 3 июля 2010 в 17:28

Никаких практических, кроме формальной правильности кода. Юзаемые переменные надо инициализировать.

Аватар пользователя yurgon yurgon 6 июля 2010 в 23:56

ещё бы этот модуль работал под последний стабильный убер, было бы вообще замечательно )))

Аватар пользователя Zonar Zonar 12 июля 2010 в 18:21

выговор админам!)) ссылки, которые должны быть спрятаны за словом не отображаются, и слово не отображается

Аватар пользователя venom280@drupal.org venom280@drupal.org 1 августа 2010 в 19:31

В SQL запросе необходимо взять uc_discount_total в фигурные скобки {uc_discount_total} иначе с префиксом работать не будет