小编mog*_*man的帖子

Symfony2.1使用方法GET的形式

我需要有关使用带有method = GET的Symfony2.1表单和干净的URL空间的帮助.

我正在创建一个"过滤器",我想在URL中设置,以便人们可以为他们的链接添加书签.

所以,非常简单的代码:

$form = $this->createFormBuilder($defaultData)
    ->add('from', 'date', array('required' => false, 'widget' => 'single_text', 'format' => 'dd.MM.yyyy'))
Run Code Online (Sandbox Code Playgroud)

我渲染表单小部件,一切都很好.

但是,当我提交表单时,它会产生非常丑陋的GET参数:

/app_dev.php/de/event?form%5Bfrom%5D=17.11.2012
Run Code Online (Sandbox Code Playgroud)

这是因为输入名称当然是 form[from]

所以为了清理URL空间,我自己做了一个主题:

{% block widget_attributes %}
{% spaceless %}
    id="{{ id }}" name="{{ id }}"{% if read_only %} disabled="disabled"{% endif %}{% if required %} required="required"{% endif %}{% if max_length %} maxlength="{{ max_length }}"{% endif %}{% if pattern %} pattern="{{ pattern }}"{% endif %}
    {% for attrname,attrvalue in attr %}{{attrname}}="{{attrvalue}}" {% endfor %}
{% endspaceless %}
{% endblock …
Run Code Online (Sandbox Code Playgroud)

url symfony-forms symfony-2.1

7
推荐指数
2
解决办法
6157
查看次数

Symfony 2/Doctrine 2:对PersistentCollection进行更改

我正在构建一个应用程序,用户可以在其中编辑一些数据,然后呈现一个屏幕,他可以在其中确认(并评论)他的编辑.

在确认表单中,我显示了对实体所做的更改.这适用于"普通"字段.以下是一些用于检查单个字段的代码:

// create $form
// bind $form

if ($form->isValid() {
    $data = $form->getData();
    // example, get changes of a "normal" field
    if ($data['color'] != $entity->getColor()) {
        // do something with changes
    }
}
Run Code Online (Sandbox Code Playgroud)

但我不能对关系做同样的事情(例如ManyToMany with Users):

    if ($data['users'] != $entity->getUsers()
Run Code Online (Sandbox Code Playgroud)

因为$ data ['users']和$ entity-> getUsers()引用相同的持久集合,所以不起作用.可以调用此函数来查看是否有更改:

    if ($data['users']->isDirty())
Run Code Online (Sandbox Code Playgroud)

但是不可能看到做了哪些改变.

上面的第二个问题是,如果从持久集合中删除所有项目,则Doctrine不会将其标记为"已更改"(isDirty()= true),因此我无法捕获用户删除所有内容的具体更改"用户"来自表单中的实体.

请注意,代码全部有效,我唯一的问题是我无法查看/处理在确认步骤中所做的更改.

php forms persistence symfony doctrine-orm

6
推荐指数
3
解决办法
7842
查看次数

如何显示已安装图表的可用更新

有没有办法使用 Helm 显示已安装图表的可用图表更新?

例如,我有一个“web-app”图表安装为“测试”,版本为 1.2.4,但在我的存储库中,1.2.7 可用:

# helm ls
NAME    NAMESPACE   REVISION    UPDATED                                 STATUS      CHART           APP VERSION
test    default     1           2020-06-04 07:33:07.822952298 +0000 UTC deployed    web-app-1.2.4   0.0.1

# helm search repo myrepo
NAME            CHART VERSION   APP VERSION DESCRIPTION
myrepo/ingress  0.1.0           1.16.0      A Helm chart for Kubernetes
myrepo/sandbox  1.2.3           1.16.0      A Helm chart for Kubernetes
myrepo/web-app  1.2.7           0.0.1       A Helm chart for Kubernetes
Run Code Online (Sandbox Code Playgroud)

我的目标是编写一个脚本来发送任何需要更新的图表的通知,以便我可以查看并运行更新。我很高兴听到任何可以做到这一点的 devOps 风格的工具,

kubernetes kubernetes-helm

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

Android移动主要内容显示抽屉

我想创建一个导航抽屉效果,但不是抽屉从左边滑出,它必须在主视图的"后面",所以滑动的项目是视图本身(即向右) - 抽屉完全不动,但通过滑动主视图"揭开".手指轻扫(并点击汉堡包图标)动作与抽屉相同,只是揭示效果不同.

主视图的移动方式与此处可实现的方式相同

如何使用Drawer Layout左侧移动主要内容

但在我的情况下,我希望"抽屉"静止地保持在主视图下方.

通过叠加视图和使抽屉透明,我达到了预期的效果 - 当然这意味着抽屉不再用于导航; 只是为了效果.使用上面链接中的代码

<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/whole_frame"
android:layout_width="match_parent"
android:layout_height="match_parent">

<!-- everything here is now the new "drawer" -->
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="BOO I am hiding!"
    android:id="@+id/tv2"
    android:layout_gravity="left|top" />
<!-- /everything here is now the new "drawer" -->

<android.support.v4.widget.DrawerLayout

android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
>

<!-- The This is the main content frame -->
<FrameLayout
    android:id="@+id/content_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorPrimary">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="MOOOOOO!"
        android:id="@+id/textView"
        android:layout_gravity="left|top" />
</FrameLayout>


<!-- The see-through navigation drawer -->
<RelativeLayout …
Run Code Online (Sandbox Code Playgroud)

android

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

Symfony 2主题为textarea小部件

我在发短信时遇到了麻烦.

我创建了一个包含以下主题的单独主题文件:

{% block text_widget %}
    <div class="text_widget">
        {% set type = type|default('text') %}
        {{ block('field_widget') }}
    </div>
{% endblock %}

{% block textarea_widget %}
    <div class="textarea_widget">
        {#{% set type = type|default('text') %}#}
        {{ block('textarea_widget') }}
    </div>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

第一个块主题工作(text_widget),但第二个块导致页面根本不加载.如果我将块行更改为,它可以工作

        {{ block('field_widget') }}
Run Code Online (Sandbox Code Playgroud)

但随后twig渲染一个普通的文本字段.根据https://github.com/symfony/symfony/tree/master/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form我应该能够使用textarea_widget.

有任何想法吗?

theming symfony twig

2
推荐指数
1
解决办法
4830
查看次数

Symfony 2在原型中形成原型 - 双$$名称字段

我需要一些原型内原型的帮助.Symfony非常聪明地生成表单原型,但是一旦你是一层向下(即原型中的原型),它就会为这两个原型重用$$ name $$.

这就是我的实体的原型字段.JQuery使用正确的索引值(基于子节点数)交换$$ name $$

 <input type="text" id="entry_entities_$$name$$_contactFax" name="entry[entities][$$name$$][contactFax]" value="" />
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.但是当你更深入一级时,Symfony也会将$$ name $$用于下一级 - 这里是实体属性的原型:

<div id="entry_entities_123_properties" data-prototype="    
    &lt;label for=&quot;entry_entities_$$name$$_properties_$$name$$_name&quot;&gt;Name&lt;/label&gt;
    &lt;input type=&quot;text&quot; id=&quot;entry_entities_$$name$$_properties_$$name$$_name&quot; name=&quot;entry[entities][$$name$$][properties][$$name$$][name]&quot; value=&quot;&quot; /&gt;
Run Code Online (Sandbox Code Playgroud)

这意味着(在此示例中为实体ID 123)所有属性都获得ID 123:

name="entry[entities][123][properties][123][name]"
name="entry[entities][123][properties][123][name]"
name="entry[entities][123][properties][123][name]"
Run Code Online (Sandbox Code Playgroud)

等等

在我看来,解决这个问题的最好方法是使用$$ somethingelse $$作为属性 - 有谁知道这个设置在哪里 - 或者有没有人有一个完整的例子与JS如何解决这个问题?我开始在每一行上发现/替换第二个$$名称$$,但它变得非常混乱.我确信有一种简单的方法可以做到这一点,但我在互联网上找不到任何指南.

php forms jquery symfony symfony-2.0

2
推荐指数
1
解决办法
2376
查看次数

Command的Symfony 2配置

有谁知道我可以为控制台/命令行命令(或者实际上在应用程序的任何部分中)创建配置的最佳方式?

我想要实现的是这个(例如)

$ app/console myapp:sync --server=server_2
connecting to "server2.servers.com"...success!
sync completed.
Run Code Online (Sandbox Code Playgroud)

其中myapp是/src/myBundle/Command/SyncCommand.php下的命令行类和配置(app/config/config.yml?)中的命令行类:

myapp:
    server_1:
        hostname: "server1.servers.com"
        port: 22
    server_2:
        hostname: "server2.servers.com"
        port: 22
Run Code Online (Sandbox Code Playgroud)

对于这个例子,同步的作用并不重要(代码已经被编写为SyncCommand.php),我只想知道要使用哪个配置文件(我假设是config.yml或parameters.ini)和如何阅读该配置(treeBuilder?或类似$ this-> getParameters('myapp')的东西?我怀疑我遗漏了某些明显的东西.

谢谢!

configuration command-line symfony

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