小编fko*_*ler的帖子

密钥"UNQ_CATALOG_PRODUCT_SUPER_ATTRIBUTE_PRODUCT_ID_ATTRIBUTE_ID"的完整性约束违规

我正在创建简单的产品,然后创建可配置的产品,然后将简单的产品与可配置的产品相关联.当我第一次运行代码时,它可以顺利地创建所有简单的产品,可配置的产品以及关联.但是,当我再次运行该代码时,它表示违反约束.显示重复的ID与上次创建的产品ID相同,当所有进程都正常时.

我的代码是以下代码.

$product_collection = Mage::getModel('catalog/product')
    ->getCollection()
    ->addAttributeToSelect('*');

$toinsertId = $product_collection->getLastItem()->getId() + 1;

$configurable_attribute = "art_print_sizes";
$attr_id = 133;
$simpleProducts = array();
$lowestPrice = 999999;

$attributes = Mage::getModel('catalogsearch/advanced')->getAttributes();
$attributeArray = array();
foreach ($attributes as $a) {
    if ($a->getAttributeCode() == 'art_print_sizes') {
        $count = 0;
        foreach ($a->getSource()->getAllOptions(false) as $option) {
            $option_id = $this->getOptionId("art_print_sizes", $option['label']);
            $sku = 'SK_' . '500' . '_' . strval($count);

            $sProduct = Mage::getModel('catalog/product');
            $sProduct
                ->setTypeId(Mage_Catalog_Model_Product_Type::TYPE_SIMPLE)
                ->setWebsiteIds(array(1))
                ->setStatus(Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
                ->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_NOT_VISIBLE)
                ->setTaxClassId(5)
                ->setAttributeSetId(9)
                ->setSku($sku)
                // $main_product_data is an array created as part …
Run Code Online (Sandbox Code Playgroud)

magento configurable-product

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

在视图助手中将部分渲染为String

如何在Ruby on Rails 4.2中渲染部分字符串,因为render_to_string不推荐使用?

就像是:

 rendered_string = render_to_string partial: 'forgotten_orders/soonest_manufacturing_date', locals: { forgotten_order: forgotten_order, soonest_manufacturing_date: soonest_manufacturing_date }
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-4 ruby-on-rails-4.2

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

使用KnpSnappyBundle生成jpg时没有资产

这似乎是一个知道问题,但我找不到解决方案:

使用KnpSnappyBundle生成jpg/pdf时,未加载css文件. 以下是有关Google群组的讨论,但未提供答案.

有没有人找到解决这个问题的方法?

symfony

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

全日历多个营业时间,每天两班

我已将完整日历整合到我的网站中.我的一个要求是从数据库中获取营业时间并在日历上呈现它.所以基本上每天都有两班(早上和晚上).我需要能够创建一个营业时间数组,并从数据库中填充值.开箱即用,我可以使用以下代码来渲染常见的营业时间.

businessHours:
  {
    start: '10:00:00',
    end: '16:00:00',
    dow: [0,1,2,3,4,5,6]
  },
Run Code Online (Sandbox Code Playgroud)

我希望实现这样的目标:

businessHours:[
{
  start: '10:00:00',
  end: '13:00:00',
  dow: [0]
},
{
  start: '14:00:00',
  end: '19:00:00',
  dow: [0]
},
{
  start: '09:00:00',
  end: '12:00:00',
  dow: [1]
},
{
  start: '12:30:00',
  end: '18:00:00',
  dow: [1]
},
]
Run Code Online (Sandbox Code Playgroud)

如果使用完整日历的现有属性无法做到这一点,还有其他方法可以实现吗?先感谢您.

javascript fullcalendar

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

尝试在 Rails 5.2 中显示来自 ActiveStorage 的图像时出错

我正在使用 Rails 5.2 和 Ruby 2.3.7 开发 Rails 应用程序,并希望使用 Active Storage 将图像附加到我的 Event 对象。

以下是我采取的主要步骤

在 config/environments/development.rb 我确认: config.active_storage.service = :local

文件

event.rb 我添加了这一行: has_one_attached :event_image

events_controller.rb 我在 event_params 中将 :event_image 属性列入白名单

events/_form.html.erb 我已经设置了一个 form_for 来上传图片

<%= f.label :event_images %>
<%= f.file_field :event_image %>
Run Code Online (Sandbox Code Playgroud)

events/index.html.erb 我尝试用

<% if event.event_image.attached? %>
<%= image_tag event.event_image %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

错误:无法将图像解析为 URL:未定义方法 `attachment_url' for :0x00007fca5dcef8b8>

<% if event.event_image.attached? %>
<%= image_tag url_for(event.event_image) %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

错误:类的未定义方法`attachment_path':0x00007fca5e0109c0>:0x00007fca5dacefe8>

我已经确认我的数据库中存在 active_storage_attachments 和 active_storage_blobs 并且附件保存在那里

任何建议将不胜感激。从我所有的谷歌搜索来看,这似乎应该有效

ruby-on-rails spree rails-activestorage

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

从cli运行PHP脚本:php.ini memory_size没有考虑到

我试图从命令行运行PHP脚本(magento reindexer脚本).该脚本消耗大量内存,因此我收到以下错误:PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 72 bytes) in /home/karanta/www/karanta.fr/lib/Zend/Db/Adapter/Abstract.php on line 691

要解决此问题,我编辑了/etc/php5/cli/php.ini文件并进行了设置memory_limit = 2048M.

要检查配置,我运行一个包含phpinfo();cli 的脚本,我看到:memory_limit => 2048M => 2048M,所以似乎正确考虑了配置.ini_get('memory_limit);也返回2048M.

但是当我重新运行reindex脚本时,我仍然PHP Fatal error: Allowed memory size of 536870912 bytes exhausted感觉到memory_limit仍然是512M.该脚本无法完成,我没有想法如何扩充memory_limit以允许脚本完成.

编辑:我也尝试将指令ini_set("memory_limit", -1);直接添加到PHP脚本中,它仍然挂起相同PHP Fatal error: Allowed memory size of 536870912 bytes exhausted.

额外的信息:

服务器是运行Debian GNU/Linux 7.5和64GB RAM的ovh专用机器!

php -v 收益:

PHP 5.6.12-1(cli)版权所有(c)1997-2015 PHP Group …

php command-line-interface magento memory-limit reindex

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

静态与非静态辅助方法

我是PHP和Magento的新手,我想弄清楚以下两行之间的区别:

$helper = Mage::helper('catalog/category');

$helper = $this->helper('catalog/category');

我在模板文件中看到了类似的代码,但是何时以及为什么我会使用一个而不是另一个?

php magento

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

Symfony2验证可选字段

在我的表单中,我有一个必填项设置为false的字段,此字段是可选的.

但是,当使用该字段时,我希望在此字段上进行notBlank验证:

@Assert\NotBlank(
 *     message="The name field can't be blank",
 *     groups={"flow_poemDataCollector_step1"}
 * )
Run Code Online (Sandbox Code Playgroud)

现在,我无法使用验证约束NotBlank,因为当字段未使用时,它将导致我的表单验证失败.

我尝试在onPostBindRequest监听器中的字段中添加随机值,但它很复杂,并且无法使其工作.我不确定这是不是正确的方法.

这是我试过的:( $ form是一个Symfony\Component\Form\FormInterface对象)

    $form = $event->getForm();
    $formData = $form->getData();
    $formData->setUserName("foo");
    $form = $form->setData($formData);
Run Code Online (Sandbox Code Playgroud)

但后来我得到一个错误,我不能在未绑定的表单上调用isValid().

我怎样才能实现目标?即.仅在某些情况下验证字段.

php forms validation symfony symfony-2.0

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

当文本出现在屏幕上时自动向下滚动

我正在逐字逐句地展示一首诗(使用lettering.js和jQuery.这很好.现在我想添加一个额外的功能:我希望页面向下滚动,因为文本出现在屏幕上.我正在尝试:

div.lettering('words');
div.find('span').hide();
div.show().find('span').each(function(i) {
    $(this).delay(delay * i).fadeIn(fadeIn);
    var _this = $(this);
    $('html, body').scrollTop(
        _this.offset().top - $('html, body').offset().top + $('html, body').scrollTop()
    );
});
Run Code Online (Sandbox Code Playgroud)

还尝试过:

div.lettering('words');
div.find('span').hide();
div.show().find('span').each(function(i) {
    $(this).delay(delay * i).fadeIn(fadeIn);
    var _this = $(this);
    $('html, body').animate({
        scrollTop: _this.offset().top
    }; 500);
});
Run Code Online (Sandbox Code Playgroud)

但页面在页面加载时滚动到某个位置,就是这样.我觉得我使用的_this变量不正确.

知道如何实现我的目标吗?

javascript jquery

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

在语言环境更改时更改html lang属性

我有一个运行PHP/Symfony2的多语言网站.

我想在用户切换语言(=切换语言环境)时更改html lang属性.

实现这一目标的最佳方法是什么?

PS:我的最终目标是能够切换不同语言的字体(中文看起来与我选择的英文字体太差了).我正在考虑使用CSS:lang()伪选择器:html:lang(zh)

html internationalization lang symfony symfony-2.1

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

Symfony2:将类设置为birthdate小部件生成的选择

在我的表单中,我生成了birthdate字段:

{{form_widget(form.birthdate) }}
Run Code Online (Sandbox Code Playgroud)

生成以下html:

<div id="fos_user_registration_form_birthdate">
    <select id="fos_user_registration_form_birthdate_month"     name="fos_user_registration_form[birthdate][month]">
    <select id="fos_user_registration_form_birthdate_day" name="fos_user_registration_form[birthdate][day]">
    ,
    <select id="fos_user_registration_form_birthdate_year" name="fos_user_registration_form[birthdate][year]">
</div>
Run Code Online (Sandbox Code Playgroud)

我想在select中添加一个类来自定义它们的样式.我怎样才能做到这一点?

PS:如果我加

'attr' => array('class' => 'select-style'),
Run Code Online (Sandbox Code Playgroud)

这个类归于<div id="fos_user_registration_form_birthdate">,而不是选择

css forms symfony

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

破折号或空格后的每个字母大写(PHP)

我试图在空间和破折号之后把每个字母都用掉.显然,在空格之后将每个字母大写都不是问题:

$string = preg_replace('/[^a-zA-Z-\s]/s', '', $string);
$string = ucwords(strtolower($string));
Run Code Online (Sandbox Code Playgroud)

诀窍.

但是,我找不到一种方法可以在破折号之后将每个字母大写,尽管这个正则表达式似乎与破折号后的每个字母相匹配(如果我相信答案).

任何帮助表示赞赏!

我也尝试过:

$string = preg_replace('#\b[a-z0-9-_]+#i', strtoupper("$0"), $string);
Run Code Online (Sandbox Code Playgroud)

没有成功...

php regex string

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

验证fosuserbundle注册表

我正在使用FOSUserBundle.在我的项目中,我创建了自己的UserBundle并覆盖了控制器,表单和处理程序.现在,当用户尝试注册现有电子邮件时,该网站崩溃(电子邮件对于学说是唯一的).似乎没有进行验证.我以为我会在validation.yml中进行一些验证:

YOP\UserBundle\Entity\User:
  constraints:
    - Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity: email
  properties:
    email:
      - Email: ~
Run Code Online (Sandbox Code Playgroud)

为什么不在电子邮件领域进行验证?如何确保考虑我的验证限制?

PS:validation.yml文件不在我的UserBundle中,是不是有问题?

编辑:

我的UserBundle的代码在这里可用 我不明白为什么不再进行验证...

validation symfony fosuserbundle

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