From 23571224b56a49fc898c1e2d3ae8338813c42c00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Thu, 26 Mar 2020 12:04:04 -0400 Subject: [PATCH] feat: add parent cids to body class --- src/controllers/category.js | 1 + src/controllers/helpers.js | 1 + src/controllers/topics.js | 1 + src/middleware/render.js | 7 +++++++ 4 files changed, 10 insertions(+) diff --git a/src/controllers/category.js b/src/controllers/category.js index 65eb23fb62..d6c4e5edf6 100644 --- a/src/controllers/category.js +++ b/src/controllers/category.js @@ -122,6 +122,7 @@ async function buildBreadcrumbs(req, categoryData) { { text: categoryData.name, url: nconf.get('relative_path') + '/category/' + categoryData.slug, + cid: categoryData.cid, }, ]; const crumbs = await helpers.buildCategoryBreadcrumbs(categoryData.parentCid); diff --git a/src/controllers/helpers.js b/src/controllers/helpers.js index 4240ecb637..11a677116d 100644 --- a/src/controllers/helpers.js +++ b/src/controllers/helpers.js @@ -159,6 +159,7 @@ helpers.buildCategoryBreadcrumbs = async function (cid) { breadcrumbs.unshift({ text: String(data.name), url: nconf.get('relative_path') + '/category/' + data.slug, + cid: cid, }); } cid = data.parentCid; diff --git a/src/controllers/topics.js b/src/controllers/topics.js index 06957d1fae..6d2656771e 100644 --- a/src/controllers/topics.js +++ b/src/controllers/topics.js @@ -156,6 +156,7 @@ async function buildBreadcrumbs(topicData) { { text: topicData.category.name, url: nconf.get('relative_path') + '/category/' + topicData.category.slug, + cid: topicData.category.cid, }, { text: topicData.title, diff --git a/src/middleware/render.js b/src/middleware/render.js index 23579bb70f..a6257d04a8 100644 --- a/src/middleware/render.js +++ b/src/middleware/render.js @@ -127,6 +127,13 @@ module.exports = function (middleware) { parts.push('page-topic-category-' + templateData.category.cid); parts.push('page-topic-category-' + utils.slugify(templateData.category.name)); } + if (templateData.breadcrumbs) { + templateData.breadcrumbs.forEach(function (crumb) { + if (crumb.hasOwnProperty('cid')) { + parts.push('parent-category-' + crumb.cid); + } + }); + } parts.push('page-status-' + res.statusCode); return parts.join(' ');