我需要构建一个像这个图像展示的管理界面。在过去,我使用组件来实现这个目的,但是现在由于这些模块是通过admin-generator生成的,所以我不知道如何做到这一点。我检查了所有这些文档-- 1、2、3. --但不知道如何做到这一点。我还在components.class.php文件夹下创建了一个modules/sdriving_empresa/actions,并将该组件包含在视图include_component('sdriving_empresa')中,但得到了以下错误:
sfComponents初始化失败。
有什么帮助吗?
发布于 2013-06-26 06:49:17
Tabs和Partials,简单的方法:)
实现这一目的的最佳javascripts之一是Javascript禁忌器。它很容易安装和使用它。您会发现许多其他Javascript和jQuery禁忌,得到一个你最喜欢的。
我建议你学习symfony 1部分的一切,以便轻松地完成这项工作。通常,部分是保存在外部文件中的一段代码,然后在代码的任何部分加载。这就像一个包含大量html和php代码的变量。Partials (外部文件)还允许接收输入变量,因此很容易从相关模块或表中发送ids。
让我们看一个包含两个表、信息和管理以及两个部分的表的示例。
editSuccess.php
$sModuleName = sfContext::getInstance()->getModuleName();
$sbasepathtabs = $sModuleName . '/tabs';
<div class='tabber' id='tabberglobal1'>
<div class='tabbertab' title='Information' >
<?php
include_partial($sbasepathtabs . '/_information/_information', array('form' => $form));
?>
</div>
<div class="tabbertab" title="Admin" >
<?php
include_partial($sbasepathtabs . '/_admin/_admin', array('form' => $form));
?>
</div>
</div>轻松地设置它:
/_tabs/_information和/_admin文件夹/_tabs_information.php_admin.php在这些文件中的每一个,部分写任何你想要的东西。
这些部分将接收左变量表单:数组(‘form’=> $form)。
可以向部分发送多个变量:数组(‘form’=> $form,'variable2‘=> $formnumber2)
在编写部分(例如,部分_information )时,可以轻松地在模板中获得表单对象及其值:
$id = $form->getObject()->getId();对于普通变量,您不需要调用getObject。
最后,深入研究这两种情况的文档,symfony partials和Javascript禁忌。他们会解决你需要的一切。
后端管理生成器:
管理生成器自动生成缓存文件夹中的所有模板。示例:
cache\backend\prod\modules\autoTbPrueba1Backend\templates
cache\backend\prod\modules\autoTbPrueba1Backend\templates\indexSuccess.php它的大多数文件已经是部分文件,请注意他们的名字中有_符号的文件,他们是部分。这意味着大部分工作已经为您完成,唯一需要做的就是覆盖一些部分(TbPrueba1Backend/list_header,即文件_list_header.php),甚至覆盖包含所需扩展信息的完整模板(indexSuccess.php)。为了覆盖后端生成的模板和部分,可以将这些文件复制到模块的模板文件夹中:
apps\backend\modules\TbPrueba1Backend\templates
apps\backend\modules\TbPrueba1Backend\templates\indexSuccess.php设置您需要的任何附加信息,如果您在刷新web时没有看到任何新的信息,请记住清除symfony缓存(symfony cc)。
使用新信息覆盖模板和部分之后,现在唯一需要的是在引导框架创建的div选项卡中写入/添加这些部分,就像我前面描述的那样。
对于管理生成器的一个很好的解释:
http://www.slideshare.net/loalf/symfony-y-admin-generator
4/en/12?orm=Doctrine
发布于 2013-06-26 09:32:51
您需要moduleName和componentName在您的include_component()
function include_component($moduleName, $componentName, $vars = array())
{
echo get_component($moduleName, $componentName, $vars);
}或者您的模块在错误的应用程序中。在这种情况下,您可以考虑在插件中移动它。
https://stackoverflow.com/questions/17301242
复制相似问题