我有一个类似的问题到完整性约束违规在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) 我正在尝试使用 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) 我想在仅使用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