0

我已经按照这里的教程http://doc.silverstripe.org/old/modules:dataobjectmanager在我的 CMS 中创建了一个 dataobjectmanager。

那里一切正常,但是我在将其输出到模板中时遇到了问题。我的代码如下

<?php 
class InfoArea extends DataObject{ 
   static $db = array( 
      'Title' => 'Varchar(255)', 
      'Content' => 'HTMLText' 
   ); 

   static $has_one = array( 
      'ResortPage' => 'ResortPage' 
   ); 

   public function getCMSFields_forPopup(){ 
      return new FieldSet( 
         new TextField('Title'), 
         new SimpleTinyMCEField('Content') 
      ); 
   } 
}

度假村页面.php

....... 
static $has_many = array ( 
      "InfoAreas" => "InfoArea" 
   ); 
....... 
$fields->addFieldToTab("Root.Content.AdditionalInformation", 
         new DataObjectManager( 
         $this, 
         'InfoAreas', 
         'InfoArea', 
         array('Title' => 'Title','Content'=>'Content'), 
         'getCMSFields_forPopup' 
      )); 
........

我有一个包含“ResortInfo.ss”的模板“ResortPage.ss”。我需要从这个包含文件中输出 DataObject。

我已经尝试了以下但它没有输出任何东西

<% control InfoArea %> 
   $Title 
   $Content 
<% end_control %>

我在这里做错了什么?

谢谢

4

1 回答 1

0

我发现了这个问题。在我的 ResortPage 课程中

static $has_many = array ( 
      "InfoAreas" => "InfoArea" 
   ); 

static $has_one = array ( 
      "InfoAreas" => "InfoArea" 
   ); 

..因为失误。我只需要has_many.

于 2012-06-18T04:04:51.573 回答