public IEnumerable<Domain.Order> List(ISpecification<Domain.Order> spec)
{
var queryableResultWithIncludes = spec.Includes
.Aggregate(_dbContext.Set<DAL.Order>().AsQueryable().ProjectTo<Domain.Order>(),
(current, include) => current.Include(include)); // throw exception here
return secondaryResult.Where(spec.Criteria).AsEnumerable();
}
配置了EXT:新闻
一切正常。
现在我希望每个templateLayout有不同的TypoScript。 我有两种不同的列表类型:list-type 98和list-type 99.您可以在flexform中选择它们,并且fluid-templates开关正确。
但是如何为list-type 98和list-type 99分别设置一个typoscripts呢?
e.g。 list-type 98:每页5个新闻,列表类型99:每页10个新闻。
答案 0 :(得分:1)
这可以采用一种解决方法。
1,创建TypoScript:
plugin.tx_news.settings {
default {
setting1 = abc
list.image.width = 100
detail.image.width = 123
}
type1 {
setting1 = abcdef
list.image.width = 200
}
}
第二,采用模板
而不是默认的部分
<f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
你现在可以做到这一点
# use a f:case if more than 1 templateLayout used
<f:if condition="{settings.templateLayout}">
<f:then>
<f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings.type1,iterator:iterator}" />
<f:then>
<f:else>
<f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings.default,iterator:iterator}" />
</f:else>
</f:if>
现在应该在这一行动中更改此部分内的所有设置。
我目前看到的缺点:
plugin.tx_news.settings.default < plugin.tx_news.settings
之类的东西也可以使用所有默认设置。