小编Mr *_*enn的帖子

Magento自定义模块中的完整性约束违规

我有一个类似的问题到完整性约束违规在Magento中创建产品(未答复)但我正在创建一个自定义Observer,它挂钩到catalog_product_save_after事件 - 基于本教程:http://fishpig.co.uk/blog/custom-tabs -magento -产品- admin.html

但是,每当保存新产品时,我都会收到此错误:

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '22-1' for key 'UNQ_CATALOGINVENTORY_STOCK_ITEM_PRODUCT_ID_STOCK_ID'
Run Code Online (Sandbox Code Playgroud)

config.xml看起来像这样:

<adminhtml>
    <events>
        <catalog_product_save_after>
            <observers>
                <a1web_save_product_data>
                    <type>singleton</type>
                    <class>metricimperial/observer</class>
                    <method>saveProductData</method>
                </a1web_save_product_data>
            </observers>
        </catalog_product_save_after>
    </events>
</adminhtml>
Run Code Online (Sandbox Code Playgroud)

课程大纲如下:

<?php

class A1web_MetricImperialConverter_Model_Observer
{
    /**
     * Flag to stop observer executing more than once
     *
     * @var static bool
     */
    static protected $_singletonFlag = false;

     * @param Varien_Event_Observer $observer
     */
    public function saveProductData(Varien_Event_Observer $observer)
    {
        if (!self::$_singletonFlag) {
               self::$_singletonFlag = true;

                $product …
Run Code Online (Sandbox Code Playgroud)

sql referential-integrity exception magento

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

Docker - 容器启动后执行 mkdir、chown 和 chgrp

我正在尝试使用 docker-compose 创建一个 docker 容器,它在本地文件系统上安装一个卷(对于容器的 /var/www/html ),然后添加一个名为 Maps 和 chowns 的目录,chmods 是 www-data,以便网络服务器可以将文件写入其中。

我尝试了几种方法,使用如下所示的entrypoint.sh脚本:

Dockerfile

FROM php:5.6-apache
COPY apache-config.conf /etc/apache2/sites-enabled/000-default.conf
RUN a2enmod rewrite headers
RUN service apache2 restart
COPY entrypoint.sh /entrypoint.sh
RUN chmod 0755 /entrypoint.sh
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml({} 中的内容仅来自 .env 文件)

version: '2'

services:
  webserver:
    build: ./docker/webserver
    image: web
    ports:
      - "8080:80"
    volumes:
      - ./web:${APACHE_DOC_ROOT}
    links:
      - db
    environment:
      - HTTP_ROOT=http://${DOCKER_HOST_IP}:${DOCKER_HOST_PORT}/
      - PHP_TMP_DIR=${PHP_TMP_DIR}
      - APACHE_LOG_DIR=${APACHE_LOG_DIR}
      - APACHE_DOC_ROOT=${APACHE_DOC_ROOT}/
      - SERVER_ADMIN_EMAIL=${SERVER_ADMIN_EMAIL}
      - MYSQL_USER=${MYSQL_USER}
      - MYSQL_PASSWORD=${MYSQL_PASSWORD}
      - MYSQL_DATABASE=${MYSQL_DATABASE}
Run Code Online (Sandbox Code Playgroud)

入口点.sh

#!/bin/sh

mkdir /var/www/html/maps
chown www-data /var/www/html/maps …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

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

Javascript只检测IE11中的"不跟踪"设置

我想在仅使用javascript的所有浏览器中尊重DNT设置(我没有服务器端访问主机服务器).我从/sf/answers/1186330841/获得以下内容

var isDNT = navigator.doNotTrack == "yes" || navigator.doNotTrack == "1" || navigator.msDoNotTrack == "1";
Run Code Online (Sandbox Code Playgroud)

这适用于所有浏览器,但IE11(特别是11.0.9600.16428贯穿[ http://spoon.net/]),它似乎不尊重任何上述BOM属性(我尝试通过Internet选项设置DNT首选项>高级>安全性:"始终发送不跟踪标题",也可以通过安全>打开跟踪保护).

任何人都可以确认这是正确的(即IE11中的错误),或建议使用JS方法来检测这些设置吗?

TIA Ben

javascript internet-explorer-11

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