Сценарий:
Я использую популярную функцию по умолчанию в helpers.py. Тем не менее, он не будет отображать значок после пакета / ресурса, который имеет более 10 просмотров. Как установить популярную функцию в моем шаблоне resource_item.html
следующим образом:
{{ h.popular('views', res.tracking_summary.total, min=10) }}
Я также проверил фрагмент, который будет обработан h.popular
:
{% if number >= min %}
<span class="popular ckan-icon ckan-icon-flame" title="{{ title.format(number=number) }}" xmlns="http://www.w3.org/1999/xhtml">{{ _('Popular') }}</span>
{% endif %}
Может отображать только текст «Популярный». Я попытался удалить текст, и кажется, что CKAN не может получить ckan-icon-flame
. Затем я проверил icons.less
, и ckan-icon-flame
был определен.
Дополнительная информация:
Я внедрил специализированный инструмент отслеживания. Поэтому я не включил ckan.tracking_enabled
в своем файле ckan.ini
. Интересно, связано ли это изменение с загрузкой иконки правильно. Но, основываясь на моих чтениях кода, я не обнаружил никаких условий, связанных с отображением иконки.
Дополнительная информация:
variable.less:
@imagePath: "../../../base/images";
@spritePath: "@{imagePath}/sprite-ckan-icons.png";
icons.less:
.ckan-icon {
//.ie7-restore-right-whitespace;
display: inline-block;
vertical-align: text-bottom;
position: relative;
top: 2px;
width: 16px;
height: 16px;
background-image: url("@{imagePath}/sprite-ckan-icons.png");
background-repeat: no-repeat;
background-position: 16px 16px;
}
.ckan-icon-background-position(@offset,
@size) {
@w: "@{size}X";
@h: "@{size}Y";
@x: "@{size}OffsetX";
@y: "@{size}OffsetY";
width: @@w;
height: @@h;
background-position: (@@x * @offset) @@y;
}
.ckan-icon-flame {
.ckan-icon-background-position(2,
"medium")
}