-
-
Notifications
You must be signed in to change notification settings - Fork 10.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🐛 Fixed "Cannot read property 'feature_image' of undefined" #10602
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,14 +16,19 @@ function getContextObject(data, context) { | |
// @TODO: meta layer is very broken, it's really hard to understand what it's doing | ||
// The problem is that handlebars root object is structured differently. Sometimes the object is flat on data | ||
// and sometimes the object is part of a key e.g. data.post. This needs to be prepared at the very first stage and not in each helper. | ||
if (_.includes(context, 'page') || _.includes(context, 'amp') && data.post) { | ||
if ((_.includes(context, 'page') || _.includes(context, 'amp')) && data.post) { | ||
chosenContext = data.post; | ||
} else if (_.includes(context, 'post') && data.post) { | ||
chosenContext = data.post; | ||
} else if (_.includes(context, 'page') && data.page) { | ||
chosenContext = data.page; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Added this extra case to ensure the data is returned for the case of using |
||
} else if (data[context]) { | ||
// @NOTE: This is confusing as hell. It tries to get data[['author']], which works, but coincidence? | ||
chosenContext = data[context]; | ||
} else { | ||
} | ||
|
||
// Super fallback. | ||
if (!chosenContext) { | ||
kirrg001 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
chosenContext = blog; | ||
} | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2625,10 +2625,28 @@ describe('Integration - Web - Site', function () { | |
}); | ||
}); | ||
|
||
describe('collection with data key', function () { | ||
describe('collection/routes with data key', function () { | ||
before(function () { | ||
sinon.stub(settingsService, 'get').returns({ | ||
routes: {}, | ||
routes: { | ||
'/my-page/': { | ||
data: { | ||
query: { | ||
page: { | ||
controller: 'pagesPublic', | ||
resource: 'pages', | ||
type: 'read', | ||
options: { | ||
slug: 'static-page-test' | ||
} | ||
} | ||
}, | ||
router: { | ||
pages: [{redirect: true, slug: 'static-page-test'}] | ||
} | ||
} | ||
} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The use case was not covered in dynamic routing regression test. Now it's there. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🤓 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hm.. Tried it on master, didn't error 🤔 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It hangs! There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You were right 👍 my |
||
}, | ||
|
||
collections: { | ||
'/food/': { | ||
|
@@ -2759,6 +2777,20 @@ describe('Integration - Web - Site', function () { | |
response.statusCode.should.eql(200); | ||
}); | ||
}); | ||
|
||
it('serve my-page', function () { | ||
const req = { | ||
secure: true, | ||
method: 'GET', | ||
url: '/my-page/', | ||
host: 'example.com' | ||
}; | ||
|
||
return testUtils.mocks.express.invoke(app, req) | ||
.then(function (response) { | ||
response.statusCode.should.eql(200); | ||
}); | ||
}); | ||
}); | ||
}); | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
{{ghost_head}} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing braaaces 🤬