繁体   English   中英

有条件的隐藏/显示symfony 1.4中的新链接动作

[英]conditional Hide/show the new link action in symfony 1.4

我想根据某些数据库条件显示/隐藏管理生成器列表的新链接操作。

例如:一个“小组”有许多“评估”,只有在小组状态未结束时,教师才能创建新的评估。 我想根据此隐藏symfony管理生成器列表的“新”链接。 我该怎么做?,我尝试编辑_list_actions文件直到现在都没有成功。

谢谢。 约安

我认为您可以通过几种方式做到这一点。

  1. 您可以隐藏指向新操作的链接,但这不是很好,因为用户可以使用直接链接来创建新评估。

  2. 因此,我建议您采用其他方式。

转到缓存/后端/产品/模块/ autoNamemodule / action / action.class.php

复制到apps / backend / modules / Namemodule / action / action.class.php

下一个

public function executeNew(sfWebRequest $request)
  {
    $this->form = $this->configuration->getForm();
    $this->product = $this->form->getObject();
  }

比您需要检查状态。 我现在不知道数据库表名称,例如

public function executeNew(sfWebRequest $request)
      {

 $id = $request->getParameter('id', false);
        if (ctype_digit($id)) {

           $group = Doctrine::getTable('Group')->findOneById($id);
           $group_status=$group->getStatus();

                if($group_status== 0){

                  $this->form = $this->configuration->getForm();
                  $this->product = $this->form->getObject();

                }
                 else {
               $this->getUser()->setFlash('notice', 'Group status ended!You can not create new evaluations ' );
               $this->redirect('@yourmodulenamerout');  
             }

      }

因此,如果组状态结束,则将用户重定向到后端模块的索引,并向用户显示为什么他不能创建新评估)。 您还可以隐藏指向新操作的链接。 以同样的方式,但是您必须在_list_actions文件中创建它,因此不是很好的做法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM