【发布时间】:2014-09-03 11:25:19
【问题描述】:
我想在通常包含树视图的左侧面板中显示一些自定义内容。
由于此面板中的内容将是一个可编辑的 Gridfield,应该与 EditForm 相关,因此我尝试以这种方式构建一个新的 EditFormTools 面板:
- 我复制了 mysite/templates/Includes 中的 CMSMain_Content.ss 并将 $Tools 更改为 $EditFormTools
-
我使用以下代码在同一目录中创建了文件 CMSMain_EditFormTools.ss:
<div class="cms-content-tools west cms-panel" data-expandOnClick="true" data-layout-type="border" id="cms-content-tools-CMSMain"> <div class="cms-panel-content west"> <% include Test %> </div> </div> -
我创建了一个 Test.php :
class Test extends CMSMain{ public $var = 'test'; public function testfunction(){ $variable = 'hakuna matata'; return $variable; } } -
然后我用这段代码创建了一个 Test.ss:
some Text $var $testfunction $variable
面板现在出现在我的 CMS 中,但它只包含“一些文本”。所以 Test.ss 的包含工作得很好,但是将变量从 Test.php 传递到 Test.ss 却不行。
有人可以帮忙吗?
问候
【问题讨论】:
-
$testfunction 在您调用 $EditFormTools 后将不在范围内。 EditFormTools 是你的 testfunction 应该在的地方。
标签: content-management-system panel silverstripe