小编Jer*_*emy的帖子

将SecurityContext注入Symfony2中的Listener prePersist或preUpdate,以在createBy或updatedBy中获取User导致循环引用错误

我设置了一个监听器类,我将在任何doctrine prePersist上设置ownerid列.我的services.yml文件看起来像这样......

services:
my.listener:
    class: App\SharedBundle\Listener\EntityListener
    arguments: ["@security.context"]
    tags:
        - { name: doctrine.event_listener, event: prePersist }
Run Code Online (Sandbox Code Playgroud)

我的班级看起来像这样......

use Doctrine\ORM\Event\LifecycleEventArgs;
use Symfony\Component\Security\Core\SecurityContextInterface;

class EntityListener
{

protected $securityContext;

public function __construct(SecurityContextInterface $securityContext)
{
    $this->securityContext = $securityContext;
}


/**
 *
 * @param LifecycleEventArgs $args 
 */
public function prePersist(LifecycleEventArgs $args)
{

    $entity = $args->getEntity();
    $entityManager = $args->getEntityManager();

    $entity->setCreatedby();

}
}
Run Code Online (Sandbox Code Playgroud)

结果是以下错误.

ServiceCircularReferenceException:检测到服务"doctrine.orm.default_entity_manager"的循环引用,路径:"doctrine.orm.default_entity_manager - > doctrine.dbal.default_connection - > my.listener - > security.context - > security.authentication.manager - > fos_user .user_manager".

我的假设是安全上下文已经被注入链中的某个地方,但我不知道如何访问它.有任何想法吗?

php symfony doctrine-orm

44
推荐指数
2
解决办法
3万
查看次数

在添加新产品时将值添加到magento下拉列表或多选产品属性

我想知道是否有人发现或编写了一个扩展程序,允许magento网站管理员在添加产品时能够为其产品属性添加值.例如,如果我出售书籍并希望书籍作者位于下拉列表中以便在分层导航中使用,那么在添加产品之前我必须通过属性部分添加作者似乎很奇怪.从工作流的角度来看,在我的添加产品屏幕下拉菜单旁边添加"添加新值"按钮确实很有意义.

任何人有任何想法或见解?

php attributes zend-framework admin magento

36
推荐指数
1
解决办法
4235
查看次数

使用Symfony2和Doctrine2开发多租户应用程序的最佳实践

我正在开发一个需要支持多租户模型的应用程序.我正在使用symfony2 php框架和doctrine2.

我不确定构建此要求的最佳方法.Symfony的ACL功能是否提供了解决方案的一部分?

您可以提供哪些建议或想法?是否有任何已实施此策略的示例symfony2应用程序或开源应用程序?

我的第一个想法是在所有表中使用tenant_id列,并将其与应用程序中的帐户对象相关联.我不确定ACL是否应该照顾我想要做的事情,或者你是否还要对所有针对你的对象的查询负责,这样他们就不会返回未经授权的数据.

如果我没有使用Doctrine,可能很容易说只是附加Where tenant_id = @accountid到每个查询,但我不确定这是正确的方法.

谢谢

php saas multi-tenant symfony doctrine-orm

19
推荐指数
2
解决办法
4337
查看次数

ASP.NET中的简单Facebook Connect演示

有没有人在asp.net应用程序中有一个简单而成功的facebook connect演示实现.我正在开发一个asp.net Web应用程序,并希望facebook connect成为登录的主要方法.

c# asp.net openid facebook

14
推荐指数
1
解决办法
3万
查看次数

创建Symfony2表单主题 - 字段集和列表样式

我正在使用symfony2.我试图覆盖树枝中的默认div样式表单块.

首先,有没有或知道fieldset和list(ul - > li)方法的可用实现?

php symfony-forms symfony twig

8
推荐指数
1
解决办法
8411
查看次数

如何检索显示城市或市政边界的静态地图

我不知道从哪里开始查看文档,但我正在尝试加载城市的地图图像,并列出其边界.

像这样...

沃思堡地图包括边界

任何帮助入门将不胜感激,我是地图api的新手.

谢谢

google-maps google-maps-api-3 google-maps-api-2

8
推荐指数
1
解决办法
4250
查看次数

覆盖FOSUserBundle表单类型时无法加载类型"XYZ"错误

我试图覆盖Symfony2 FOSUserBundle中的RegistrationFormType.我正在关注文档并相信我已经涵盖了所有内容.我创建了一个包,用于包含我对FOSUserBundle的覆盖,以下代码来自此包以及应用程序配置.

有人在覆盖FOSUserBundle时遇到过这种情况,或者在我的代码中看到任何有助于解释我为什么一直收到此错误的内容.我在使用symfony v2.0.4

RegistrationFormType.php

<?php

/*
 * This file is part of the FOSUserBundle package.
 *
 * (c) FriendsOfSymfony <http://friendsofsymfony.github.com/>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Thrive\SaasBundle\Form\Type;

use Symfony\Component\Form\FormBuilder;
use FOS\UserBundle\Form\Type\RegistrationFormType as BaseType;

class RegistrationFormType extends BaseType
{

    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder
            ->add('firstname', null, array('error_bubbling' => true))
            ->add('lastname', null, array('error_bubbling' => true))
            ->add('company', null, array('error_bubbling' => true)) …
Run Code Online (Sandbox Code Playgroud)

php symfony symfony-plugins

7
推荐指数
1
解决办法
1756
查看次数

使用类型模型的ASP.NET MVC模型到单选按钮列表的双向数据绑定

我有一个由单选按钮矩阵组成的mvc视图.每行单选按钮都在一个组中,表示模型中的类型化对象.使用各种博客和帖子的指导,我已成功将发布的表单结果绑定到控制器操作中的类型化模型数组,但似乎无法成功反转效果并将现有模型绑定到单选按钮,同时保留其选定或未选定状态.

我的模型包含一个名为"AnswerValue"的属性,该属性介于0和4之间,并且应与radiobutton名称匹配.我尝试将索引值更改为模型值"AnswerId",但这样做的绑定工作不再有效(我相信索引必须为零).这是我迄今为止使用的一些资源,以及Scott Hanselman 撰写文章,以了解我现在所处的位置.

如果有人对如何执行这种双向绑定有任何见解,那将非常感激.

谢谢

我的控制器:

[AcceptVerbs(HttpVerbs.Post)]
  public ActionResult Save([Bind(Prefix = "SurveyAnswer")] SurveyAnswer[] responses, int SurveyID)
  {
Run Code Online (Sandbox Code Playgroud)

我的看法:

<%
  int questionIndex = 0; 
  foreach (SurveyAnswer q in Model)
  {

%>
  <%=Html.Hidden("SurveyAnswer.Index", questionIndex)%>
  <%=Html.Hidden("SurveyAnswer["+questionIndex+"].AnswerId", q.AnswerId) %>
  <tr>
    <td style='background-color: #aaaaaa;padding-left: 10px; padding-right: 10px;border-right: solid 1px #fffff;'><%= questionIndex+1 %></td>
    <td style='text-align: right;'><%= q.Question.DisplayValue %></td>
    <td><%=Html.RadioButton("SurveyAnswer[" + questionIndex + "].AnswerValue", "0", new { name = "SurveyAnswer[" + questionIndex + "].AnswerValue"})%></td>
    <td><%=Html.RadioButton("SurveyAnswer[" + questionIndex + "].AnswerValue", "1", new { …
Run Code Online (Sandbox Code Playgroud)

asp.net data-binding asp.net-mvc strong-typing

6
推荐指数
1
解决办法
6502
查看次数

Asp.Net MVC路由表和控制器操作

我正在创建一个包含成员及其配置文件的各种目录.我在.net中使用MVC框架.

我有一个视图,允许您根据某些条件查找成员,以便我的控制器具有Find()操作结果,然后另一个接受post动词.因此,somesite.com/members/find会显示搜索工具,然后在提交表单后,相同的网址会显示结果.我现在希望成员名称链接到同一控制器中的另一个actionresult方法以显示其配置文件,我希望网址遵循此模式somesite.com/members/{username}.

如何创建一个可以执行此操作的控制器方法?还有更多吗?
我需要在global.asax中映射新路由吗?

谢谢您的帮助.

.net model-view-controller asp.net-mvc controller routes

5
推荐指数
1
解决办法
3005
查看次数

有没有人知道RenderAction HtmlHelper在RC1中的ASP.NET MVC中的位置

有没有人可以替代RenderAction HtmlHelper看到它在RC1中消失了.

我需要呈现用户控件,但使用不同的控制器来填充用户控件视图.

这怎么可能呢?

asp.net asp.net-mvc

4
推荐指数
1
解决办法
485
查看次数

Asp.NET MVC模型绑定 - 使用绑定参数属性为简单类型分配前缀

我有一个.net mvc应用程序,其控制器操作接受用户注册帖子.我有以下UI字段:emailaddress,firstname,lastname,password和confirmpassword.其中一些字段不属于模型对象(即确认密码不属于用户模型,仅属于密码).我的注册表位于与登录表单相同的视图中.所以我必须在同一个视图上使用独立的表单,每个表单都返回不同的操作.

我想我可以为表单元素分配前缀,以分隔寄存器和登录之间的相似字段.我遇到的问题是验证,如果发生错误,视图被重新加载,显示验证消息,但是像电子邮件(存在于登录和注册中)这样的字段都会填充先前输入的地址.另外,我在登录和注册字段上面都有一个验证摘要.注册期间发生错误时,将使用错误消息填充两个验证摘要.我认为为字段分配前缀(register.fieldname和login.fieldname)可能有助于解决这些问题.

因此,当register操作处理post时,它不再找到注册表单字段的值,而是返回null.以下是此操作使用的方法签名...

关于这里发生的事情的任何输入都会很棒.

谢谢杰里米

 public ActionResult Register([Bind(Prefix = "Register")] string emailAddress, [Bind(Prefix = "Register")] string firstName, [Bind(Prefix = "Register")] string LastName, [Bind(Prefix = "Register")] string password, [Bind(Prefix = "Register")] string confirmPassword)
Run Code Online (Sandbox Code Playgroud)

以下是我的ui,它代表注册表格....

<h2>Create a New Account</h2>
  <p>
      Use the form below to create a new account. 
  </p>
  <p>
      Passwords are required to be a minimum of <%=Html.Encode(ViewData["PasswordLength"])%> characters in length.
  </p>
  <%= Html.ValidationSummary() %>

  <% using (Html.BeginForm("register", "account")) { %>
    <div>
      <fieldset>
        <legend>Account Information</legend>

        <table>
          <tr>
            <td><label for="EmailAddress">Email …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net asp.net-mvc model-binding

4
推荐指数
1
解决办法
1万
查看次数