prestashopcorp / psxmarketingwithgoogle
PrestaShop 基础组件 - 在 Google 上推广您的产品
Requires
- php: >=7.2
- brick/phonenumber: ^0.4.1
- prestashop/module-lib-faq: ^2.0
- prestashop/module-lib-service-container: ^2.0
- prestashop/prestashop-accounts-installer: dev-main
- prestashopcorp/module-lib-billing: ^3.3
- segmentio/analytics-php: ^1.5
- sentry/sentry: ^1.11
- symfony/polyfill-php80: ^1.23.1
- vlucas/phpdotenv: ^3.4
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^8.5
- prestashop/php-dev-tools: ^4.2
- dev-master
- v1.74.6
- v1.74.6-beta.2
- v1.74.6.beta-1
- v1.74.5.beta-3
- v1.74.5.beta-2
- v1.74.5.beta-1
- v1.74.4
- v1.74.4.beta-9
- v1.74.4.beta-8
- v1.74.4.beta-7
- v1.74.4.beta-6
- v1.74.4.beta-5
- v1.74.4.beta-4
- v1.74.4.beta-3
- v1.74.4.beta-2
- v1.74.4.beta-1
- v1.74.3
- v1.74.3-beta.2
- v1.74.3-beta.1
- v1.74.2
- v1.74.1
- v1.74.1-beta.1
- v1.74.0
- v1.74-beta.14
- v1.74-beta.13
- v1.74-beta.12
- v1.74-beta.11
- v1.74-beta.10
- v1.74-beta.9
- v1.74-beta.8
- v1.74-beta.7
- v1.74-beta.6
- v1.74-beta.5
- v1.74-beta.4
- v1.74-beta.3
- v1.74-beta.2
- v1.74-beta.1
- v1.73.3
- v1.73.3-beta.4
- v1.73.3-beta.3
- v1.73.3-beta.2
- v1.73.3-beta.1
- v1.73.2
- v1.73.2-beta.12
- v1.73.2-beta.11
- v1.73.2-beta.10
- v1.73.2-beta.9
- v1.73.2-beta.8
- v1.73.2-beta.7
- v1.73.2-beta.6
- v1.73.2-beta.5
- v1.73.2-beta.4
- v1.73.2-beta.3
- v1.73.2-beta.2
- v1.73.2-beta.1
- v1.73.1
- v1.73.0
- v1.73.0-beta.5
- v1.73.0-beta.4
- v1.73.0-beta.3
- v1.73.0-beta.2
- v1.73.0-beta.1
- v1.72.0-beta.20
- v1.72.0-beta.19
- v1.72.0-beta.18
- v1.72.0-beta.17
- v1.72.0-beta.16
- v1.72.0-beta.15
- v1.72.0-beta.14
- v1.72.0-beta.13
- v1.72.0-beta.12
- v1.72.0-beta.11
- v1.72.0-beta.10
- v1.72.0-beta.9
- v1.72.0-beta.8
- v1.72.0-beta.7
- v1.72.0-beta.6
- v1.72.0-beta.5
- v1.72.0-beta.4
- v1.72.0-beta.3
- v1.72.0-beta.2
- v1.72.0-beta.1
- 1.71.1
- v1.71.1-beta.1
- v1.71.0
- v1.71.0-beta.14
- v1.71.0-beta.13
- v1.71.0-beta.12
- v1.71.0-beta.11
- v1.71.0-beta.10
- v1.71.0-beta.9
- v1.71.0-beta.8
- v1.71.0-beta.7
- v1.71.0-beta.6
- v1.71.0-beta.5
- v1.71.0-beta.4
- v1.71.0-beta.3
- v1.71.0-beta.2
- v1.71.0-beta.1
- v1.70.0
- v1.70.0-beta.2
- v1.70.0-beta.1
- v1.69.0
- v1.69.0-beta.1
- v1.68.0
- v1.68.0-beta.1
- v1.67.0
- v1.67.0-beta.3
- v1.67.0-beta.2
- v1.67.0-beta.1
- v1.67.0-beta.0
- v1.66.0
- v1.66.0-beta.5
- v1.66.0-beta.4
- v1.66.0-beta.3
- v1.66.0-beta.2
- v1.66.0-beta.1
- v1.65.1
- v1.65.1-beta.3
- v1.65.1-beta.2
- v1.65.1-beta.1
- v1.65.0
- v1.65.0-beta.5
- v1.65.0-beta.4
- v1.65.0-beta.3
- v1.65.0-beta.2
- v1.65.0-beta.1
- v1.64.0
- v1.64.0-beta.5
- v1.64.0-beta.4
- v1.64.0-beta.3
- v1.64.0-beta.2
- v1.64.0-beta.1
- v1.63.0
- v1.63.0-beta.2
- v1.63.0-beta.1
- v1.62.0-beta.7
- v1.62.0-beta.6
- v1.62.0-beta.5
- v1.62.0-beta.4
- v1.62.0-beta.3
- v1.62.0-beta.2
- v1.62.0-beta.1
- v1.61.1
- v1.61.1-beta.1
- v1.61.0
- v1.61.0-beta.2
- v1.61.0-beta.1
- v1.60.1
- v1.60.0
- v1.60.0-beta.11
- v1.60.0-beta.10
- v1.60.0-beta.9
- v1.60.0-beta.8
- v1.60.0-beta.7
- v1.60.0-beta.6
- v1.60.0-beta.5
- v1.60.0-beta.4
- v1.60.0-beta.3
- v1.60.0-beta.2
- v1.60.0-beta.1
- v1.59.0
- v1.59.0-beta.1
- v1.58.0-beta.2
- v1.58.0-beta.1
- v1.57.0
- v1.57.0-beta.1
- v1.56.1
- v1.56.0
- v1.56.0-beta.4
- v1.56.0-beta.3
- v1.56.0-beta.2
- v1.56.0-beta.1
- v1.55.0
- v1.55.0-beta.2
- v1.55.0-beta.1
- v1.54.0
- v1.54.0-beta.1
- v1.53.0
- v1.53.0-beta.11
- v1.53.0-beta.10
- v1.53.0-beta.9
- v1.53.0-beta.8
- v1.53.0-beta.7
- v1.53.0-beta.6
- v1.53.0-beta.5
- v1.53.0-beta.4
- v1.53.0-beta.3
- v1.53.0-beta.2
- v1.53.0-beta.1
- v1.52.0
- v1.52.0-beta.2
- v1.52.0-beta.1
- v1.51.0
- v1.51.0-beta.8
- v1.51.0-beta.7
- v1.51.0-beta.6
- v1.51.0-beta.5
- v1.51.0-beta.4
- v1.51.0-beta.3
- v1.51.0-beta.2
- v1.51.0-beta.1
- v1.50.0
- v1.50.0-beta.2
- 1.50.0-beta.1
- v1.49.0
- v1.49.0-beta.2
- v1.49.0-beta.1
- v1.48.0
- v1.48.0-beta.1
- v1.47.0
- v1.47.0-beta.1
- v1.46.0
- v1.46.0-beta.4
- v1.46.0-beta.3
- v1.46.0-beta.2
- v1.46.0-beta.1
- v1.45.0
- v1.45.0-beta.5
- v1.45.0-beta.4
- v1.45.0-beta.3
- v1.45.0-beta.2
- v1.45.0-beta.1
- v1.44.1
- v1.44.1-beta-1
- v1.44.0
- v1.44.0-beta.1
- v1.43.0
- v1.42.0
- v1.42.0-beta.4
- v1.42.0-beta.3
- v1.42.0-beta.2
- v1.42.0-beta.1
- v1.41.0
- v1.41.0-beta.4
- v1.41.0-beta.3
- v1.41.0-beta.2
- v1.41.0-beta.1
- v1.40.0
- v1.40.0-beta.3
- v1.40.0-beta.2
- v1.40.0-beta.1
- v1.39.0
- v1.39.0-beta.1
- v1.38.0
- v1.38.0-beta.1
- v1.37.1
- v1.37.0
- v1.37.0-beta.2
- v1.37.0-beta.1
- v1.36.0
- v1.36.0-beta.2
- v1.36.0-beta.1
- v1.35.0
- v1.35.0-beta.1
- v1.34.0
- v1.34.0-beta.2
- v1.34.0-beta.1
- v1.33.1
- v1.33.0
- v1.33.0-beta.1
- v1.32.0
- v1.32.0-beta.9
- v1.32.0-beta.8
- v1.32.0-beta.7
- v1.32.0-beta.6
- v1.32.0-beta.5
- v1.32.0-beta.4
- v1.32.0-beta.3
- v1.32.0-beta.2
- v1.32.0-beta.1
- v1.31.0
- v1.31.0-beta.11
- v1.31.0-beta.10
- v1.31.0-beta.9
- v1.31.0-beta.8
- v1.31.0-beta.7
- v1.31.0-beta.6
- v1.31.0-beta.5
- v1.31.0-beta.4
- v1.31.0-beta.3
- v1.31.0-beta.2
- v1.31.0-beta.1
- v1.30.0
- v1.30.0-beta.2
- v1.30.0-beta.1
- v1.29.0
- v1.29.0-beta.1
- v1.28.0
- v1.28.0-beta.4
- v1.28.0-beta.3
- v1.28.0-beta.2
- v1.28.0-beta.1
- v1.27.1
- v1.27.0
- v1.27.0-beta.1
- v1.26.0
- v1.25.0
- v1.25.0-beta.6
- v1.25.0-beta.5
- v1.25.0-beta.4
- v1.25.0-beta.3
- v1.25.0-beta.2
- v1.25.0-beta.1
- v1.24.0
- v1.24.0-beta.5
- v1.24.0-beta.4
- v1.24.0-beta.3
- v1.24.0-beta.2
- v1.24.0-beta.1
- v1.23.1
- v1.23.0
- v1.22.0
- v1.21.0-beta.4
- v1.21.0-beta.3
- v1.21.0-beta.2
- v1.21.0-beta.1
- v1.20.0
- v1.20.0-beta.6
- v1.20.0-beta.5
- v1.20.0-beta.4
- v1.20.0-beta.3
- v1.20.0-beta.2
- v1.20.0-beta.1
- v1.19.0
- v1.19.0-beta.1
- v1.18.0
- v1.18.0-beta.6
- v1.18.0-beta.5
- v1.18.0-beta.4
- v1.18.0-beta.3
- v1.18.0-beta.2
- v1.18.0-beta.1
- v1.17.0
- v1.17.0-beta.2
- v1.17.0-beta.1
- v1.16.1
- v1.16.0
- v1.16.0-beta.8
- v1.16.0-beta.7
- v1.16.0-beta.6
- v1.16.0-beta.5
- v1.16.0-beta.4
- v1.16.0-beta.3
- v1.16.0-beta.2
- v1.16.0-beta.1
- v1.15.2
- v1.15.1
- v1.15.0
- v1.15.0-beta.9
- v1.15.0-beta.8
- v1.15.0-beta.7
- v1.15.0-beta.6
- v1.15.0-beta.5
- v1.15.0-beta.4
- v1.15.0-beta.3
- v1.15.0-beta.2
- v1.15.0-beta.1
- v1.14.0
- v1.13.0
- v1.13.0-beta.5
- v1.13.0-beta.4
- v1.13.0-beta.3
- v1.13.0-beta.2
- v1.13.0-beta.1
- v1.12.3
- v1.12.2
- v1.12.1
- v1.12.0
- v1.12.0-beta.3
- v1.12.0-beta.2
- v1.12.0-beta.1
- v1.11.0
- v1.11.0-beta.7
- v1.11.0-beta.6
- v1.11.0-beta.5
- v1.11.0-beta.4
- v1.11.0-beta.3
- v1.11.0-beta.2
- v1.11.0-beta.1
- v1.10.4
- v1.10.3
- v1.10.2
- v1.10.1
- v1.10.0
- v1.9.0
- v1.8.2
- v1.8.1
- v1.8.0
- v1.7.0
- v1.6.0
- v1.5.0
- v1.4.1
- v1.4.0
- v1.3.0
- v1.2.1
- v1.2.0
- v1.2.0-beta.16
- v1.2.0-beta.15
- v1.2.0-beta.14
- v1.2.0-beta.13
- v1.2.0-beta.12
- v1.2.0-beta.11
- v1.2.0-beta.10
- v1.2.0-beta.9
- v1.2.0-beta.8
- v1.2.0-beta.7
- v1.2.0-beta.6
- v1.2.0-beta.5
- v1.2.0-beta.4
- v1.2.0-beta.3
- v1.2.0-beta.2
- v1.2.0-beta.1
- v1.1.3
- v1.1.2-beta11
- v1.1.2-beta10
- v1.1.2-beta9
- v1.1.2-beta8
- v1.1.2-beta7
- v1.1.2-beta6
- v1.1.2-beta5
- v1.1.2-beta4
- v1.1.1-beta3
- v1.1.1-beta2
- v1.1.1-beta1
- v1.1.0-beta6
- v1.1.0-beta5
- v1.1.0-beta.3
- v1.0.0-beta.2
- 1.0.0-beta.1
- dev-l10n_master
- dev-dependabot/npm_and_yarn/_dev/vite-4.5.5
- dev-dependabot/npm_and_yarn/_dev/bootstrap-5.0.0
- dev-dependabot/npm_and_yarn/_dev/webpack-5.94.0
This package is auto-updated.
Last update: 2024-09-23 15:43:10 UTC
README
与 Google 进行营销(psxmarketingwithgoogle)
关于
同步您的产品目录到 Google
将您的商店连接到 Google 商户中心,只需点击几下即可同步整个产品目录。价格和可用性等产品属性将每天自动更新。
为您的产品启用免费列表
免费列表允许在购物标签页的有机排名列表中展示您的产品属性,包括图片和价格。
一旦您的目录已同步,您可以在仪表板上启用免费列表,并开始免费在购物标签页展示您的产品。
使用性能最大化扩展您的覆盖范围和销售额
想要最大化您的广告活动性能并找到正确的客户?从单一广告活动中,性能最大化可以收集不同 Google 渠道的跨渠道数据,并通过展示您的广告具有更高的转化率来优化您的广告活动性能。
下载 & 安装
模块存档可以在以下位置找到并下载
- 在 PrestaShop 插件市场(仅提供最新稳定版本)
- 在此存储库的 发行页面上(提供稳定版和测试版)
下载的存档可以按照 用户文档中的说明上传到 PrestaShop 实例。
构建
本部分涵盖了将此项目本地化的步骤。
为了在 PrestaShop 实例上运行,需要下载依赖项并构建 JS 应用程序。
PHP
使用 composer 获取依赖项
composer install
# or
make composer-install
Composer 已配置为权威模式,这意味着当在当前自动加载器中找不到类时,它不会在文件系统中查找。当添加或删除类时,需要重新运行上述命令。
VueJS
使用 Node 20+,需要在 _dev/
文件夹中运行以下命令,并需要安装 pnpm。如果您没有它
npm install -g pnpm
以生产模式构建应用程序
pnpm install
pnpm -r build
# or
make vuejs
编译并监视新更改(开发模式)
pnpm install
pnpm -r dev
开发环境
要获取安装了模块的本地商店,可以使用以下命令
make docker-up
它将创建一个包含 PrestaShop 实例和已安装模块以及 phpMyAdmin 实例的 Docker 容器。您可以配置多个实例的端口并选择 PrestaShop 的特定版本。所有配置都在 e2e-env
文件夹中。
测试
测试将在每次提交此存储库或任何 pull-request 时运行。这些命令重现了 CI 执行的检查。
- JS 检查:单元测试和编码标准
pnpm -r lint
pnpm -r test:unit
# or
make test-front
- PHP 检查:单元测试、编码标准...
vendor/bin/php-cs-fixer fix
vendor/bin/phpunit tests/
docker run -tid --rm -v ps-volume:/var/www/html --name temp-ps prestashop/prestashop; docker run --rm --volumes-from temp-ps -v $PWD:/web/module -e _PS_ROOT_DIR_=/var/www/html --workdir=/web/module phpstan/phpstan analyse --configuration=/web/module/tests/phpstan/phpstan.neon;
php vendor/bin/header-stamp --license=vendor/prestashop/header-stamp/assets/afl.txt --exclude=vendor,tests,_dev
# or
make test-back
环境定制
默认情况下,PHP 和 JS 将定义与生产相关的数据到应用程序中。
如果您需要在此项目维护期间修改这些变量,可以在此模块根目录中创建一个新 .env
文件并使用在 classes/config/Config.php
中可以找到的键来覆盖它们。
- 要使用位于
views/
文件夹中的 UI,请在 .env 文件中将USE_LOCAL_VUE_APP
设置为 1。 - 要使用带热重载的开发环境,请设置
USE_LIVE_VUE_APP=1
。默认情况下,模板将调用 http://localhost:5173 的开发服务器。可以通过修改app.tpl
和vite.config.ts
来自定义此值。 - 要修改 API 的基本 URL 为本地 URL:
PSX_MKTG_WITH_GOOGLE_API_URL=https://localhost:8080
其他值由 Vue.js 应用程序管理,并位于 _dev/apps/ui/.env
文件 中,与根文件夹中的可选 .env
不同。
发布
质量保证审查
每个版本在发送到生产环境之前都需要由质量保证团队进行测试。这一步骤在所有 pull-requests 合并到基础分支(例如 master
)后完成。
要创建预发布
- 按照语义版本控制(SemVer)的约定获取新版本
- 检查模块的主类和
config.xml
中的版本是否与即将发布的版本匹配,或相应地更新值 - 在 发布页面 上创建新发布,并使用与主类中提供的版本匹配的标签,格式为
v1.XX.XX-beta.XX
。 - 请确保勾选“设置为预发布”选项
- GitHub 可以生成更改日志的提案,列出自上次发布以来合并的所有 pull-requests。此列表对于质量保证团队可能是相关的,可以原样发送。
- 发布发布
创建后,将附加几个 zip 文件到发布中。每个文件都链接到特定的 API 环境(生产、预生产和集成),生产 zip 文件是发送到市场的文件。
部署到生产环境
通过在 GitHub 上创建发布来在市场上发布
要发布发布
- 使用预发布中的版本或按照语义版本控制(SemVer)的约定获取新版本
- 检查模块的主类和
config.xml
中的版本是否与即将发布的版本匹配,或相应地更新值 - 在 发布页面 上创建新发布,并使用与主类中提供的版本匹配的标签。
- GitHub 可以生成更改日志的提案,列出自上次发布以来合并的所有 pull-requests。因为此更改日志将与存档一起发送到市场,所以建议使其对商家可理解。
- 发布发布
创建后,将附加几个 zip 文件到发布中。每个文件都链接到特定的 API 环境(生产、预生产和集成),生产 zip 文件是发送到市场的文件。
文档
用户帮助
文档托管在 网上,并提供多种语言版本。您可以在模块配置页面上的“帮助”标签中找到您语言的翻译文档。
Storybook
此模块的所有组件和页面都可在运行 Storybook 的专用网站上找到。它在每次向 master
分支推送时都会更新。
集成 Storybook
预生产 Storybook
生产 Storybook
警告
如果在加载 Storybook 时出现错误“Failed to fetch dynamically imported module: [...]/preview-[...].js”,请禁用您的广告拦截器并再次尝试。
钩子
该模块注册到多个钩子,并添加以下功能
- actionCartUpdateQuantityBefore
- 转换跟踪:触发“添加到购物车”转换动作
- displayBackOfficeHeader
- 菜单:修复营销标签的显示
- 网站验证:在 BO 仪表板的后台每隔 30 天触发验证和声明过程
- 警告消息:在 BO 仪表板上显示有关 Marketing With Google 的警报
- 警告消息:在编辑承运人后显示通知,建议在模块上重新配置运输设置
- 显示头部
- 网站验证:显示谷歌验证标签
- 转化跟踪:显示谷歌标签以初始化 gtag()
- 转化跟踪:为增强型转化提供用户数据
- 转化跟踪:清除并显示无法显示的事件(例如,由Ajax请求触发的事件)
- 显示订单确认
- 转化跟踪:触发“购买”转化动作
- 显示顶部
- 转化跟踪:触发“页面查看”转化动作
本地化
已翻译数据存储在文件夹 _dev/packages/mktg-with-google-common/translations
中。
每小时,Crowdin将在存储库上运行几个任务
en/
文件夹中的数据将被同步到Crowdin作为源字符串- Crowdin上翻译内容的更新将通过pull-request的形式发送回存储库
贡献
PrestaShop模块是PrestaShop电子商务平台的开源扩展。欢迎并鼓励每个人通过自己的改进进行贡献!
只需确保遵循我们的贡献指南。
报告问题
您可以通过模块配置页面“帮助”标签中提供的链接来报告此模块的问题。
许可
本模块在Academic Free License 3.0下发布