Comments (10)
Just thought I'd chime in to say I was able to get the sample code above working in my application with a small modification:
helpers: {
block: function(name){
var blocks = this._blocks;
content = blocks && blocks[name];
return content ? content.join('\n') : null;
},
contentFor: function(name, options){
var blocks = this._blocks || (this._blocks = {});
block = blocks[name] || (blocks[name] = []); //Changed this to [] instead of {}
block.push(options.fn(this));
}
}
I'm now able to define a {{{block "pageScripts"}}} in my layout page and fill it with content from my views inside of:
{{#contentFor "pageScripts"}}
<script>
// my page specific code here
</script>
{{/contentFor}}
Thanks for the sample code to get me jump started!
from express-handlebars.
Thanks! Glad this project is useful to you :)
This feature is definitely something that's perfect for helpers. Here's one way you could go about doing this:
var express = require('express'),
exphbs = require('express3-handlebars'),
app = express(),
hbs;
hbs = exphbs.create({
helpers: {
block: function (name) {
var blocks = this._blocks,
content = blocks && blocks[name];
return content ? content.join('\n') : null;
},
contentFor: function (name, options) {
var blocks = this._blocks || (this._blocks = {}),
block = blocks[name] || (blocks[name] = []);
block.push(options.fn(this));
}
}
});
app.engine('handlebars', hbs.engine);
app.set('view engine', 'handlebars');
// ...
Let me know if this helps (or even works, I didn't test it.)
from express-handlebars.
That's awesome. I'll play with this some tomorrow. Thanks!
from express-handlebars.
@shellscape Did this end up working out for you?
from express-handlebars.
Haven't yet gotten to test that, but its in the pipe. Thanks very much.
On Mar 27, 2013 1:57 PM, "Eric Ferraiuolo" [email protected] wrote:
@shellscape https://github.com/shellscape Did this end up working out
for you?—
Reply to this email directly or view it on GitHubhttps://github.com//issues/15#issuecomment-15540748
.
from express-handlebars.
Closing this…
from express-handlebars.
It doesn't work for me. It just returns a string inside the HTML and nothing happens
contact.hbs
{{#contentFor "pageScripts"}}
<script src="js/pace.min.js"></script>
<script src="js/wow.min.js"></script>
{{/contentFor}}
main.hbs
{{block "pageScripts"}}
from express-handlebars.
Great!
from express-handlebars.
This is working really well. Cheers!!
from express-handlebars.
To properly run js, instead of displaying it,
I needed to change the notation from
{{block "pageScripts"}}
to {{{block "pageScripts"}}}
from express-handlebars.
Related Issues (20)
- EMFILE: Too many open files when using partials
- A way to remove dynamic data and render the empty view template
- ENOENT: no such file or directory, open '...../views/pages/layouts/main.handlebars' HOT 2
- Partial could not be found HOT 2
- Broken links on README HOT 1
- Not able to render external css which has been bundled using webpack HOT 1
- Builtin helper lookup is showing missing HOT 5
- Security Contact Needed HOT 3
- Question: How precompile actually works? HOT 1
- The “path” argument must be of type string. Received undefined
- TypeError: exphbs is not a function HOT 2
- res.render from subdirectory in views HOT 2
- exphbs is not a function HOT 3
- Chinatown Kuala Lumpur
- 免费注册屈臣氏会员 - KSou
- 82 Vape Asia Taman Sri Manja
- 向设备制造商和移动运营商寻求帮助
- Update README.md as per the configuration. HOT 2
- Calling a partial inside another partial
- glob is not a function HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from express-handlebars.