Skip to content

Commit

Permalink
When chaining tokens, if nothing was selected in a CPF, evaluation wo…
Browse files Browse the repository at this point in the history
…uld log (#8763)

and error because it would seek an item out of the range of the array.
  • Loading branch information
Matteo Piovanelli authored Feb 29, 2024
1 parent 90dc993 commit c7d10fd
Showing 1 changed file with 5 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using Orchard.Events;
using Orchard.ContentPicker.Fields;
using Orchard.Localization;
using NHibernate.Util;

namespace Orchard.ContentPicker.Tokens {
public interface ITokenProvider : IEventHandler {
Expand All @@ -28,7 +29,10 @@ public void Describe(dynamic context) {
public void Evaluate(dynamic context) {
context.For<ContentPickerField>("ContentPickerField")
.Token("Content", (Func<ContentPickerField, object>)(field => field.Ids[0]))
.Chain("Content", "Content", (Func<ContentPickerField, object>)(field => _contentManager.Get(field.Ids[0])))
.Chain("Content", "Content", (Func<ContentPickerField, object>)(field => {
var id = field.Ids.Any() ? field.Ids[0] : 0;
return _contentManager.Get(id);
}))
;
}
}
Expand Down

0 comments on commit c7d10fd

Please sign in to comment.