【问题标题】:Symfony 1.4: not bringing info from DB or rendering the templateSymfony 1.4:不从数据库中获取信息或渲染模板
【发布时间】:2012-04-03 15:29:40
【问题描述】:

我有一个数据库,其中有 label 表,其中包含信息。我在管理员中创建了一个模块,其唯一功能是列出该表 label 的信息,其中字段是:id、text(例如: 1 索尼、2 华纳等)

尽管如此:当我在浏览器中进入模块时,我只看到了我在 generator.yml 中编写的 title,但没有看到 列表的字段的显示(这是:来自数据库)。我重新检查了 databases.yml 中的信息是否正常。我可以进入数据库查看信息。

以下是一些相关文件:

generator.yml

generator:
  class: sfPropelGenerator
  param:
    model_class:           Label
    theme:                 admin
    non_verbose_templates: true
    with_show:             false
    singular:              Label
    plural:                Labels
    route_prefix:          label
    with_propel_route:     1
    actions_base_class:    sfActions

  config:
    actions: ~
    fields:  ~
    list:
      title: it's working!!
      fields:
      display:  [id, text]   
    filter:  ~
    form:    ~   
    edit:    ~  
    new:     ~    

注意: 仅在我这样做时出现它正在工作!page.com/label。不是数据库的信息。我已经在 generator.ymlparam 中使用了大写字母。另外,每次都删除缓存,修改后检查缩进-两个空格,没有制表符-

在文件夹 /template 我没有任何模板。在 /actions 我有:

*actions.class.php:*

class labelActions extends sfActions 
{
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
  public function executeIndex(sfWebRequest $request)
  {
   //$this->forward('default', 'module');
  }
}

注意: 刚刚评论了一行。正如您创建新模块时的说明所说,消除默认的 Symfony 屏幕。

routing.yml,位于所有模块之父的config文件夹中:

routing.yml

...
label:
  class: sfPropelRouteCollection
  options:
    model:                Label
    module:               label
    prefix_path:          /label
    column:               id
    with_wildcard_routes: true  
 ...

注意:也使用大写字母,例如:label、Label 等。每次都清理缓存。

【问题讨论】:

  • 您的actions.class.php 很奇怪...如果您使用生成器,您将有这样的操作:svn.jobeet.org/trunk/apps/backend/modules/category/actions/…class labelActions extends autoLabelActions
  • 我明白了:谢谢。我发现了我的错误:我生成了模块,然后生成了模块管理员。如果我单独生成管理模块,一切正常(php symfony propel:generate-admin cms --module=label Label note: Label is the table)我看到 action.class 你说。再次感谢你。 PD:如果你提出答案,我会接受!

标签: php symfony1 symfony-1.4


【解决方案1】:

你的actions.class.php很奇怪...

如果你使用生成器,你必须有这样的动作:

<?php

require_once dirname(__FILE__).'/../lib/labelGeneratorConfiguration.class.php';
require_once dirname(__FILE__).'/../lib/labelGeneratorHelper.class.php';

/**
 * label actions.
 *
 * @package    domain
 * @subpackage label
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 12474 2008-10-31 10:41:27Z fabien $
 */
class labelActions extends autoLabelActions
{
}

【讨论】:

  • 谢谢!请阅读问题的 cmets 以获得完整的解决方案。
猜你喜欢
  • 1970-01-01
  • 2021-02-26
  • 2018-10-08
  • 2012-06-21
  • 1970-01-01
  • 2012-10-10
  • 2015-06-04
  • 2013-05-26
  • 2012-10-31
相关资源
最近更新 更多