Commit 1ca38e69 authored by Liang Ding's avatar Liang Ding

#12584 自定义模板填充分类列表

parent 6a9255d6
...@@ -60,7 +60,7 @@ import static org.b3log.solo.model.Article.ARTICLE_CONTENT; ...@@ -60,7 +60,7 @@ import static org.b3log.solo.model.Article.ARTICLE_CONTENT;
* *
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a> * @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 1.6.16.12, Oct 15, 2018 * @version 1.7.0.0, Dec 7, 2018
* @since 0.3.1 * @since 0.3.1
*/ */
@Service @Service
...@@ -293,6 +293,29 @@ public class DataModelService { ...@@ -293,6 +293,29 @@ public class DataModelService {
Stopwatchs.end(); Stopwatchs.end();
} }
/**
* Fills categories.
*
* @param dataModel data model
* @throws ServiceException service exception
*/
public void fillCategories(final Map<String, Object> dataModel) throws ServiceException {
Stopwatchs.start("Fill Categories");
try {
LOGGER.debug("Filling categories....");
final int mostUsedCategoryDisplayCnt = Integer.MAX_VALUE; // XXX: preference instead
final List<JSONObject> categories = categoryRepository.getMostUsedCategories(mostUsedCategoryDisplayCnt);
dataModel.put(Category.CATEGORIES, categories);
} catch (final RepositoryException e) {
LOGGER.log(Level.ERROR, "Fills categories failed", e);
throw new ServiceException(e);
} finally {
Stopwatchs.end();
}
}
/** /**
* Fills most used categories. * Fills most used categories.
* *
...@@ -766,6 +789,10 @@ public class DataModelService { ...@@ -766,6 +789,10 @@ public class DataModelService {
fillTags(dataModel); fillTags(dataModel);
} }
if (Templates.hasExpression(template, "<#list categories as category>")) {
fillCategories(dataModel);
}
if (Templates.hasExpression(template, "<#list recentComments as comment>")) { if (Templates.hasExpression(template, "<#list recentComments as comment>")) {
fillRecentComments(dataModel, preference); fillRecentComments(dataModel, preference);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment