我正在Symfony 2.1中构建一个新的应用程序.我正在使用很多使用作曲家的捆绑.很多这些捆绑包都存在这个最新版本的Symfony的问题,我不得不进入/ vendor文件夹来识别问题.
这意味着我正在直接更改供应商文件 - 纯粹是出于测试目的.(当我们修复了一个捆绑,我们分支并提交适当的拉取请求).
我想知道的是,是否有一些命令composer.phar revert可以撤消对供应商文件夹所做的任何更改(如git checkout).目前,如果我运行一个作曲家update或install它没有这样做.
谢谢
我的问题基本上是,是否可以从父表单更改嵌入式字段的选项?
为了说明问题,考虑一下; 我有一个父表单类型类,如下所示:
class FruitFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text')
->add('apple', new AppleFormType())
;
}
Run Code Online (Sandbox Code Playgroud)
和一个子表单类型,在一个单独的包中,我宁愿不编辑,像这样:
class AppleFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text')
->add('qty', 'integer', array('label' => 'rubbish label')
;
}
Run Code Online (Sandbox Code Playgroud)
我想把标签更改qty为其他东西,但我想只在FruitForm其中AppleForm使用,而不是在任何地方使用.我希望能够做到这样的事情:
class FruitFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text')
->add('apple', new AppleFormType(), array('qty' => array('label' => 'better label')))
;
} …Run Code Online (Sandbox Code Playgroud) 我正在使用Twig在Symfony 2.3中构建一个项目.我想在表格行块中添加一个类.我使用的表单主题文件包含:
{% block form_row %}
<div class="form-row">
{{ form_label(form) }}
{{ form_widget(form) }}
{{ form_errors(form) }}
</div>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
现在我的一些表单行要添加一个额外的类form-row-split.我无法弄清楚如何正确地做到这一点.我几乎工作的方式是:
{% block form_row %}
{% set attr = attr|merge({'class': 'form-row' ~ (attr.class is defined ? ' ' ~ attr.class : '') ~ (errors|length > 0 ? ' error' : '')} ) %}
<div {{ block('widget_container_attributes') }}>
{{ form_label(form) }}
{{ form_widget(form) }}
{{ form_errors(form) }}
</div>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
(注意,我已经将error类逻辑留在那里,因为它需要保留).然后在表单构建器中:
$builder
->add('first_name', 'text', array( …Run Code Online (Sandbox Code Playgroud) 我有一个可排序的视频列表和一组可拖动的视频.基本上我想确保拖入的视频不在视频的前5分钟内.由于视频长度不同,我想在下拉时测试这个 - 加起来的时间直到那时如果不是5分钟还原并显示错误.
我已经尝试连接到draggable和sortable(包括未记录的revert回调)的所有回调来进行我的测试但是无论我尝试什么,dom总是被改变(并且可以排序调用它的更新回调)......
有没有人有什么建议?
是否可以覆盖表单类型的模板:"sonata_type_collection"?
我试过这些方法:
$formMapper->add('slides', 'sonata_type_collection', array(), array(
'edit' => 'inline',
'inline' => 'table',
'sortable' => 'priority',
'template' => 'MyBundle:Form:slides.admin.html.twig'
));
Run Code Online (Sandbox Code Playgroud)
但无济于事.
我知道我可以覆盖整个模板,但我只想为这个表单做这个,而不是我使用这个表单类型的所有地方.
有谁知道这是否可能?
谢谢
我有一个自定义表单字段类型和相关的表单主题.在一个页面上,我有很多这些领域,但我特别想改变其中一个领域.
有没有办法以不同方式对同一类型(和同一文件)中的某些字段进行主题化?
一个简化的例子:
form_fields.html.twig :(本地主题文件)
{% block my_dropdown_row %}
<div>
{{ form_label(form) }}
{{ form_widget(form) }}
{{ form_errors(form) }}
</div>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
在我的表单模板中(所有这些字段具有相同的类型 - my_dropdown
{{ form_row(form.selectionA) }}
{{ form_row(form.selectionB) }}
{{ form_row(form.selectionC) }}
{{ form_row(form.final_selection) }}
Run Code Online (Sandbox Code Playgroud)
如何将最终字段的样式与其他字段区分开来?这些小部件中有很多代码,因此重复性越低越好.
我已将用户的帐户区域拆分为不同的表单,然后在注册表单中,我将这些位一起拉出来,如下所示:
class RegistrationFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('email', 'email', array(
'label' => '* Email address:'
))
->add('account_personal', 'my_personalinfo_form', array(
'property_path' => 'account'
))
->add('account_contact', 'my_contactinfo_form', array(
'property_path' => 'account'
))
;
}
Run Code Online (Sandbox Code Playgroud)
问题是错误消息account_personal正在冒泡到表单的顶部.例如,如果在个人信息表单中将名字留空,请输入"请输入您的名字"."个人"和"联系"表单在自己的页面上以自己的形式正常工作.
错误消息account_contact很好,并显示在正确的字段旁边.
但是,如果我在->add上面交换两个位(account_contact首先是这样),那么问题就会反转; account_personal现在工作的错误消息在相应的字段旁边显示正常,但现在错误account_contact被冒泡到顶部!
任何建议非常感谢!
-----编辑-----
个人信息表:
class PersonalInfoType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('title', 'text')
->add('first_name', 'text', array(
'required' => true,
'label' => …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 pytorch 中实现 3D 体积的类似高斯的模糊。我可以很容易地通过与 2D 高斯核进行卷积来对 2D 图像进行 2D 模糊,并且相同的方法似乎也适用于使用 3D 高斯核的 3D。然而,它在 3D 中非常慢(特别是对于较大的 sigmas/kernel 大小)。我知道这也可以通过与 2D 内核进行 3 次卷积来完成,这应该要快得多,但我无法让它工作。我的测试用例如下。
import torch
import torch.nn.functional as F
VOL_SIZE = 21
def make_gaussian_kernel(sigma):
ks = int(sigma * 5)
if ks % 2 == 0:
ks += 1
ts = torch.linspace(-ks // 2, ks // 2 + 1, ks)
gauss = torch.exp((-(ts / sigma)**2 / 2))
kernel = gauss / gauss.sum()
return kernel
def test_3d_gaussian_blur(blur_sigma=2):
# Make a test volume
vol …Run Code Online (Sandbox Code Playgroud) 我有一个模型在一组图像上运行并使用它们计算一些统计数据 - 为简单起见,它只是输出集合中的平均图像(它比实际中的图像更多).我有许多包含图像的目录,我想从每个目录中获取输出.每个目录中都有可变数量的图像.
我为我的脚本构建了一次图形,输出变量和损失函数.输入使用稍微适应的代码进行批处理.我改编它采取一系列路径,我使用可变大小的占位符.我从这里得到了灵感.
然后我遍历目录并运行以下内容:
sess.run(image_paths.initializer, feed_dict={image_paths_initializer: image_paths})queue_threads = tf.train.start_queue_runners(sess=sess, coord=coord)coord.request_stop(); coord.join(queue_threads); coord.clear_stop()问题是,当涉及到第二个目录时,队列运行程序线程拒绝启动(我可以通过调试queue_threads变量来看到这一点).这给出了如下错误:
Compute status: Aborted: FIFOQueue '_1_input_producer' is closed.
Compute status: Aborted: RandomShuffleQueue '_0_shuffle_batch/random_shuffle_queue' is closed.
Run Code Online (Sandbox Code Playgroud)
如果我不关闭线程(并且不再次启动它们),那么它们不会从新目录生成文件 - 它们忽略了(2)中的变量赋值操作.是不是可以像这样重启队列?
我已经尝试在他们自己的单独会话中设置队列并从中提取批次,但这给了我各种CUDA /内存错误.如果我这样做并添加调试停止,我可以让它在它到达之前运行很远 - 但我不知道是否有可能在不相交的会话/图形之间添加控制依赖项?
对于每个新目录,都可以从头开始,但这会给我试图避免的进程增加很多开销.我已经做了类似的事情(即,重置变量并使用不同的输入重新运行)没有队列,它节省了大量的时间,所以我知道这有点工作.
你们中的任何一个人都可以想出一个出路吗?
这是我知道的外线投篮。我支持的站点具有不断变化的资产,这些资产由于显而易见的原因被排除在存储库之外。目前,我必须将这些资产通过 FTP 传输到我的本地计算机,以便正确开发和测试。我想要做的只是链接到服务器上的资产。我认为这可能使用 Apache 的 mod_alias,但我无法让它工作:
Alias /assets http://www.mysite.com/assets
Run Code Online (Sandbox Code Playgroud)
这可能吗?有没有其他方法可以做到这一点?
谢谢
我确定这必须是一个RTM问题,但我必须在错误的地方寻找.在symfony 1.4中,我使用了post validator回调函数.例如,检查开始日期和结束日期的顺序是否正确.我正在开发Silex中的应用程序,但无法弄清楚如何添加类似的功能作为验证器.这就是我正在使用的(基本上):
$app['form.example'] = function ($app) {
$constraints = new Assert\Collection(array(
'date1' => new Assert\Date(),
'date2' => new Assert\Date(),
));
$builder = $app['form.factory']->createNamedBuilder('form', 'example', array(), array('validation_constraint' => $constraints));
return $builder
->add('date1', 'date')
->add('date2', 'date')
->getForm();
};
Run Code Online (Sandbox Code Playgroud)
我可以将自己的验证测试放在'过程表单'部分,例如:if ($form->isValid() && --my datetest--)但它对我来说不合适.
有帮助吗?谢谢!
symfony ×7
forms ×2
symfony-2.1 ×2
twig ×2
alias ×1
apache ×1
assets ×1
composer-php ×1
convolution ×1
draggable ×1
gaussianblur ×1
git-revert ×1
jquery-ui ×1
mod-alias ×1
nested-forms ×1
option ×1
python ×1
pytorch ×1
queue ×1
revert ×1
silex ×1
sonata-admin ×1
templates ×1
tensorflow ×1
validation ×1
vendors ×1
virtualhost ×1