Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates 银条模板_Templates_Silverstripe - Fatal编程技术网

Templates 银条模板

Templates 银条模板,templates,silverstripe,Templates,Silverstripe,SilverStripe 2.4.7 嗨 我正在尝试组合一个模板来构造我的JSON。我的类有如下关系 一家商店可以有很多优惠和新闻文章。优惠和新闻文章可以属于许多商店 我的模板看起来像这样 { "StoresHolder" : [ <% control Children %> { "ID" : "$ID", "Name" : "$Name", "Address1" : "$Address1", "Address2" : "$Address2",

SilverStripe 2.4.7

我正在尝试组合一个模板来构造我的JSON。我的类有如下关系

一家商店可以有很多优惠和新闻文章。优惠和新闻文章可以属于许多商店

我的模板看起来像这样

{
"StoresHolder" : [
<% control Children %>
{
    "ID" : "$ID",
    "Name" : "$Name",
    "Address1" : "$Address1",
    "Address2" : "$Address2",
    "County" : "$County",
        "News"  : [
            <% control News %>
            {
            "ID" : "$ID",
            "Title" : "$Title",
            "DatePublished" : "$DatePublished",
            "ExpiryDate" : "$ExpiryDate",
            "Body" : "$Body",
            "URL" : "$URL",
            "Photo" : "$Photo.Filename"
            }<% if Middle %>,<% end_if %>
            <% end_control %>
        ],
        "Offers" : [
            <% control Offers %>
            {
            "ID" : "$ID",
            "Title" : "$Title",
            "Description" : "$Description",
            "Weight" : "$Weight",
            "Price" : "$Price",
            "Savings" : "$Savings",
            "Expires" : "$Expires",
            "Photo" : "$Photo.Filename"
            }<% if Middle %>,<% end_if %>
            <% end_control %>
        ]
}<% if Last %> <% else %>,<% end_if %>
<% end_control %>
]
}
{
“店主”:[
{
“ID”:“$ID”,
“名称”:“$Name”,
“地址1”:“$Address1”,
“地址2”:“$Address2”,
“县”:“$县”,
“新闻”:[
{
“ID”:“$ID”,
“标题”:“$Title”,
“DatePublished”:“$DatePublished”,
“ExpiryDate”:“$ExpiryDate”,
“Body”:“$Body”,
“URL”:“$URL”,
“照片”:“$Photo.Filename”
},
],
“提议”:[
{
“ID”:“$ID”,
“标题”:“$Title”,
“说明”:“$Description”,
“重量”:“$Weight”,
“价格”:“$Price”,
“储蓄”:“$Savings”,
“过期”:“$Expires”,
“照片”:“$Photo.Filename”
},
]
} ,
]
}

我让它工作到只显示其中一个报价和新闻文章的地步,但我无法得到更多。非常感谢您的任何建议。

这看起来不太正确——从某种意义上说:您有没有看过这样的东西:

$data = DataObject::get(...); 
$formatter = new JSONDataFormatter(); 
return $formatter->convertDataObjectSet($data);
再加上正确处理,这应该是一个更好的方法。
除非您有非常具体的原因需要一些不同的东西-然后请陈述它们

我完全同意xeraa的观点,您不应该在Template中构建json如果出于某种原因您不能使用DataObjectsSets和格式化程序,您还可以构建数组并使用$json=convert::array2json($array)将它们转换为json;谢谢你的快速回复。所以我应该完全放弃模板,采用这种方法?我认为这应该位于控制器中,对吗?没错,你不需要模板:)好的,谢谢你的帮助。我会试试看,看看效果如何。您所说的“正确处理DataObjectSet”是什么意思?