doofinder/doofinder-magento2

Magento 2 的 Doofinder 模块

安装数: 134,031

依赖项: 1

建议者: 0

安全: 0

星星: 10

关注者: 15

分支: 9

开放性问题: 12

类型:magento2-module

0.14.8 2024-09-16 13:17 UTC

This package is auto-updated.

Last update: 2024-09-20 10:32:45 UTC


README

Build Status

重要:如果您在使用模块时遇到问题,请通过 Doofinder 网站联系 Doofinder 支持。

Docker 环境

注意:如果您在 Windows 或 WSL 上,可能需要在 build.sh 文件中修复 CONTROL-M (^M) 回车符。运行以下命令以删除这些字符

dos2unix build.sh

配置 Ngrok 为了在模块初始设置期间创建账户或登录现有的 Doofinder 账户,您需要将本地 Web 服务器暴露给互联网(以接收回调)。

为此,您可以使用例如 Ngrok 这样的实用程序: https://dashboard.ngrok.com/get-started/setup

一旦您创建了外部 URL,只需编辑 .env 文件并将 MAGENTO_BASE_URL 设置为 {your-url.ngrok-free.app}(例如:MAGENTO_BASE_URL=forcibly-ethical-apple.ngrok-free.app)

因此,安装过程完成后,您将使用您的 URL(例如:http://forcibly-ethical-apple.ngrok-free.app)而不是访问 https://:9012。注意,在执行 ngrok 时需要指定 9012 端口。

然后执行以下命令设置环境

$ docker-compose --profile setup up

从包含 docker-compose.yml 的基本目录。安装过程需要一些时间才能完成。您可以使用以下命令跟踪状态日志

docker logs setup -f

最后,安装了模块的 Magento 2 将在 https://:9012 上运行。

管理面板将在 https://:9012/admin 上可用。管理员凭据定义在 .env 中,如果您使用了 env.example,则如下所示

User: admin
Pass: admin123

要安装示例数据,在容器运行时,您可以简单地执行

$ ./data_loader.sh

为了使此脚本工作,您唯一需要做的就是将 src/auth_json 文件中的用户名和密码字段填写为之前在 .env 文件中使用的相同值,并将文件基于 auth.json.sample 文件。

或者,如果您想手动加载数据,您也可以

$ docker exec -it web bash
root@...:~# cd /app
root@...:/app# php -d memory_limit=-1 bin/magento sampledata:deploy
root@...:/app# bin/magento setup:upgrade
root@...:/app# bin/magento setup:di:compile
root@...:/app# bin/magento setup:static-content:deploy -f

注意:在运行 bin/magento sampledata:deploy 命令后,您将提示进行身份验证: Authentication required (repo.magento.com):。您必须使用与 .env 文件中相同的 Magento 存储库令牌

COMPOSER_AUTH_USERNAME & COMPOSER_AUTH_PASSWORD

您可以通过访问 您的 Magento 市场账户 并创建访问密钥来获取这些字段。公钥将是 COMPOSER_AUTH_USERNAME,私钥将是 COMPOSER_AUTH_PASSWORD。

Xdebug 准备就绪

如果您希望调试新的 Magento 安装,只需在 .env 中设置正确的值,并根据远程 PHP Docker 容器 web 配置您的 IDE。您还应该将本地源路径: ./src 绑定到 Docker 的: /app

PhpMyAdmin 准备就绪

安装完成后,您还可以访问一个在端口8080上监听的预置phpMyAdmin本地服务器:https://:8080。在这里,您将看到在.env文件中指定的数据库中的所有Magento 2表(默认:magentobase)

卸载模块

您可以使用以下简单方法卸载Doofinder模块

$ docker exec -it web bash
root@...:~# cd /app
root@...:/app# bin/magento module:uninstall Doofinder_Feed --remove-data

手动卸载

php bin/magento module:disable Doofinder_Feed --clear-static-content
php bin/magento setup:upgrade
php bin/magento cache:flush
remove directory inside src/app/code

测试其他版本

将您的分支更改为包目录内想要的标签

进入magento容器内部

cd app
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy -f
php bin/magento module:enable Doofinder_Feed  --clear-static-content
php bin/magento cache:clean
php bin/magento cache:flush

最后注意事项

请注意,当您更改.env中的MAGENTO_VERSION参数时,您可能需要更改PHP_VERSION和COMPOSER_VERSION以保持兼容性。例如,如果您希望使用Magento 2.4.3版本,您应该有

PHP_VERSION=7.4
COMPOSER_VERSION=2.0.14
MAGENTO_EDITION=community
MAGENTO_VERSION=2.4.3

但是,如果您想测试,比如说2.3.1版本,您应该有类似这样的内容

PHP_VERSION=7.2
COMPOSER_VERSION=1.4.3
MAGENTO_EDITION=community
MAGENTO_VERSION=2.3.1

请记住,不要忘记在.env中复制您的Magento仓库令牌,并填写参数

COMPOSER_AUTH_USERNAME=
COMPOSER_AUTH_PASSWORD=

故障排除

权限问题 在docker容器内部运行bin/magento setup:upgrade或其他magento命令后,一些文件夹被创建,运行apache的用户可能会失去执行权限,导致返回500错误。要恢复这些文件夹的权限,请在主机终端运行sudo chmod 777 -R src/

重定向问题 如果设置过程完成后网站无法加载,您可能需要更改数据库中的URL。使用在.env中定义的mysql用户名和密码连接到数据库localhost:3312magentobase)。在core_config_data表中,有两个配置针对magento将重定向到的基本URL,路径

  • web/unsecure/base_url
  • web/secure/base_url请确保这些URL是您将用来连接到网站或magento始终重定向到的URL。