Hi Community Folks,
I have a scenario in which I have to pass some custom data based on user's properties to welcome email template in nodebb. How can I achieve this ?
Feedback appreciated
Thanks
Are there any additional rules for routing custom routes?
I have read and tried create-custom-route-in-plugin to add /api route but it still didn't work when link is not opened but clicked on another page.
Maybe someone has a full example of this routing
What have you tried?
Please share your code.
Builds.init = function (data, callback) {
function renderPage(req, res, next) {
const buildData = {};
let data = {
title: "TMM",
build: buildData,
front: true,
relative_path: nconf.get("relative_path")
};
var template = 'front/build';
res.render(template, data);
};
data.router.get('/api/build/:bid', renderPage);
data.router.get('/build/:bid', data.middleware.buildHeader, renderPage);
}
Even when I manually call from browser /api/build/:bid route - it returns me data for render, so route works, but on click for the link - no results
Can you give an example of a link which exhibits the behavior you're talking about?
part of another page rendered html with a link
<a class="c-slideset__photo" href="/build/34">
<img src=/assets/plugins/nodebb-plugin-custom-auth-questions/images/photo/5.png" alt="image">
So it works when you load /build/34
directly in your browser, and it works when you load /api/build/34
directly in your browser, but it doesn't work when you click on the link.
Are there any errors in the browser console or server log?
no errors in logs.
I have found the issue. After digging into the nodebb routing and rendering I found this line in ajaxify.js
$('#content').html(translatedTemplate);
and understood that I am using my custom theme without element with id = content, that was a problem.
After adding 'id=content' to my body tag in header template everything become Ok)
@PitaJ Thanks for support