由 hrs, 22 九月, 2019 Drupal 8中的多站点文件夹结构 标签 drupal 以下是Drupal 8的多站点结构示例。为简单起见,未列出其他Drupal核心文件夹和文件。 多站点结构: -- core -- modules -- contrib -- custom -- themes -- contrib -- custom -- sites -- site1 -- modules -- custom -- contrib -- themes -- custom -- contrib -- files -- site2 -- modules -- custom -- contrib -- themes -- custom -- contrib -- files -- site3 -- modules -- custom -- contrib -- themes -- custom -- contrib -- files Devops场景: 在多站点环境中,通常每个站点维护者都维护自己的站点代码。在复杂的环境中,前端开发人员还希望独立于常规Drupal部署的生产部署。下面是一个示例,说明如何通过多个存储库分隔Drupal 8多站点文件夹。假定每个站点都有其自己的数据库,并且如下所示共享代码。 . ----> Repository1 (common to all the developers) -- core -- modules -- contrib -- custom -- themes -- contrib -- custom ----> Repository2 (managed by front end developers) -- sites -- site1 ----> Repository3 (managed by site1 developers) -- modules -- custom -- contrib -- themes -- custom -- contrib -- files -- site2 ----> Repository4 (managed by site2 developers) -- modules -- custom -- contrib -- themes -- custom -- contrib -- files -- site3 ----> Repository5 (managed by site3 developers) -- modules -- custom -- contrib -- themes -- custom -- contrib -- files 该模型具有以下优点: 1.前端开发人员可以从常规Drupal部署中进行独立部署。 2.每个站点维护者都可以进行独立部署(例如,每个站点维护者可以有自己的发布日期)。 评论
由 hrs, 22 九月, 2019 多站点Drupal 8注意事项 标签 drupal 使用多站点Drupal设置的主要原因是,当您管理多个运行同一版本Drupal核心的Drupal站点时,可以节省您的时间。每次发布新的Drupal核心更新时,您只需在一个代码库集上执行该更新,而不必在每个站点上进行。但是有缺点。但是,如果您使用的是Aegir托管系统,则可以缓解这些问题。 否则,尝试手动管理多站点设置的复杂性和潜在问题需要相当高级的技术技能。具有这种专业知识水平的用户通常熟悉使用“命令行”,并且可以从命令行在不到2分钟的时间内更新所管理的每个站点。使用Aegir,它可以更快地完成,因为可以通过将整个平台(使用Aegir的多站点代码库)迁移到较新的平台,从而以点击方式将所有站点排队等待更新。任何失败的站点都将自动回滚。 多站点基础 尽管Drupal站点需要运行Web服务器程序(例如Apache或IIS),数据库程序(例如MySQL或MSSql)和PHP解释器才能运行,但您的站点唯一的所有内容都包含在数据库和代码库中。 Drupal核心更新实质上是代码库的替代。您的数据库保持不变,除了替换代码库之后,需要为每个站点运行“更新脚本” [YOURSITE / update.php]。 每个站点使用一个数据库的原因 数据库在后台运行,并且倾向于使用代码库。通常,您根本不需要打扰数据库。 尝试仅将一个数据库用于多个站点,几乎没有任何收获。仅拥有一个数据库可能会节省少量的磁盘存储空间,而这样做可能会给您带来潜在的问题。 如果一个站点中的数据被您或其他用户意外损坏,或被恶意攻击破坏,则所有站点都可能受到影响。 数据库由多个“表”组成。如果您决定从多站点设置中迁移一个站点,则将很难确定确切的表属于每个站点,哪些表由所有站点共享。 每个站点一个代码库 从理论上讲,为运行相同版本的Drupal的所有站点设置一个代码库将节省时间和磁盘空间。 磁盘空间很便宜,因此,请不要考虑这一点。 如上所述,可以在命令行中在几分钟内完成发布新核心版本时更新每个Drupal站点的操作,因此,您最好将时间花在学习该技能上,而不是去纠缠于学习如何实现和解决多站点设置问题。 仅当您的所有站点都使用完全相同的模块和设置时(例如,如果您正在管理联盟中每个运动队的所有单独且与众不同的站点),共享的代码库设置才是最有益的。 但是,如果您管理的多个站点使用不同的模块,那么您将面临并非所有站点都使用的模块中的错误的危险,这会破坏所有站点。 设置Drupal 8多站点 如果要在多站点配置中设置Drupal站点,请从此处开始。 评论
由 hrs, 22 九月, 2019 Drupal 8多站点 标签 drupal 以下指南将重点介绍设置Drupal 8多站点所需的手动步骤。本指南正在进行中,仅提供了一些示例配置。其他选项可用,例如HTTPS,其他Web服务器和数据库,以及更精细的虚拟主机配置等。 但是,应注意,首选使用Aegir托管系统。它使用安全的最佳实践为您完成了所有繁重的工作,包括自动为Apache和Nginx配置虚拟主机,添加HTTPS支持,运行Composer命令等。有关设置“平台”的信息,请参见Aegir-speak。多站点代码库。 流程概述: 安装一个Drupal 8实例,它将作为我们多站点实例的根站点。在我们的示例中,根站点将称为d8multisite,可通过d8multisite.com进行访问,并将其安装在/ var / www / d8multisite 在名为site1的多站点中建立一个站点,该站点可从site1.d8multisite.com访问 将site1配置为在根站点之外具有其自己的模块。 步骤1:实例化主站点 要开始此过程,请在服务器上安装Drupal 8的副本。如果您不熟悉,请阅读有关安装Drupal 8 的文档。 在此示例中,我们通过以下步骤安装Drupal: 1.1:为多站点根站点创建数据库,例如:d8multisite。 1.2:下载Drupal 8副本并将其提取到您的Web目录中。 1.3:为根站点创建虚拟主机定义。阅读有关虚拟主机配置的信息。一个示例Apache虚拟主机配置如下。对于Nginx,请参阅官方食谱。 <VirtualHost *:80> # virtual host configuration for drupal 8 multisite root site ServerAdmin me@domain.com DocumentRoot /var/www/d8multisite ServerName d8multisite.com ServerAlias www.d8multisite.com <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/d8multisite> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/d8multisite_error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/d8multisite_access.log combined </VirtualHost> 1.4:通过访问d8multisite.com并按照安装UI来安装Drupal。 步骤2:为多站点配置第一个站点 现在我们已经设置了根站点,我们可以开始配置我们的第一个站点site1。以下是此过程中的步骤: 2.1:在您的多站点中为site1创建一个文件夹:/d8multisite/sites/site1.d8multisite.com 2.1:为site1创建一个数据库,例如:d8multisite-site1 2.3:制作/d8multisite/sites/example.sites.php的副本,称为/d8multisite/sites/sites.php 2.4:编辑sites.php,使文件结尾看起来像这样: # make the root drupal site aware of site1: $sites['site1.d8multisite.com'] = 'site1.d8multisite.com'; 2.5:为site1创建一个虚拟主机。请注意,此虚拟主机应指向根站点,而不是站点的子目录。请注意,您也可以放弃为该站点创建新的虚拟主机配置,而只是将新站点作为根站点的ServerAlias创建。但是,在此Apache示例中,我们将为site1创建一个单独的虚拟主机: <VirtualHost *:80> ServerAdmin me@domain.com DocumentRoot /var/www/d8multisite ServerName site1.d8multisite.com <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/d8multisite> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/site1-d8multisite_error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/site1-d8multisite_error.log combined </VirtualHost> 2.6:将/d8multisite/sites/default/default.settings.php复制为新站点的目录,并将它们作为settings.php: #from the drupal root folder cp sites/default/default.settings.php sites/site1.d8multisite.com/settings.php 2.7:通过访问站点的域来完成site1的Drupal安装过程。 每次要在多站点中构建站点时,都可以重复这些步骤。您也可以使用example.com和site1.anotherdomain.com之类的域。有关域,URL和站点子目录名称的更多详细信息。 步骤3:启用每个站点的模块 在某些情况下,您可能希望多站点中的一个站点拥有自己的模块。为此,您只需要在目标站点的文件夹中创建适当的文件夹。在此示例中,我们将使site1拥有自己的模块: 在site1的子目录中创建一个“模块”文件夹:/d8multisite/sites/site1.d8multisite.com/modules 授予apache对此文件夹的写访问权限 chown www-data /d8multisite/sites/site1.d8multisite.com/modules 测试一下: 移出site1的子目录(即移至根站点)并使用drush安装pathauto模块 drush dl pathauto 移至site1的子目录并使用drush安装ds模块 drush dl ds 访问两个站点并确认: 两个站点均提供Pathauto 展示套件仅在site1中可用 注意:这里的假设是您可以使用主题,库和文件来执行此操作。这里需要更多的测试和文档。 在多站点中使用草绘 您可以使用-l选项: drush -l example.com command 或网站别名: drush @alias command 要检查使用了什么别名,请执行: drush site:alias 其输出示例如下: '@ sub1.dev': 根:/var/www/mydomain.com/web URI: ' https://sub1.mydomain.com ' '@ default.dev': 根:/var/www/mydomain.com/网页 URI: ' https://sub2.mydomain.com ' '@ third.dev': 根:/var/www/mydomain.com/web URI: ' https://thirddomain.com ' 正确的drush命令可能是: drush @sub1 updb 注意:我们不在别名中使用“ .dev” 评论
由 hrs, 22 九月, 2019 多站点Drupal 标签 drupal Drupal具有允许从单个代码库提供单独的独立站点的功能。每个站点都有自己的数据库,配置,文件和基本域或URL。在扩展本文档之前,请查看有关Drupal 7的相关文档。 Drupal 8多站点 如何设置D8多站点 多站点Drupal 8注意事项 在决定使用多站点Drupal 8设置之前要考虑的事项。 Drupal 8中的多站点文件夹结构 以下是Drupal 8的多站点结构示例。为简单起见,未列出其他Drupal核心文件夹和文件。 Drupal多站点的用例 可能要使用Drupal多功能工具的原因。 评论
由 hrs, 27 八月, 2019 11. Drupal电子商务 - 订单历史 标签 drupal 订单历史记录取决于结账后用户订购的产品。它包括产品的历史记录,包括订单号,用户名,订单状态等。 您可以使用以下步骤查看产品的订单历史记录 - 第1步 - 转到商店,然后单击订单链接。 第2步 - 您将获得订购产品列表的屏幕。 它包含如下字段 - 订单号 - 这是产品的订单号。 更新 - 它指定产品最后更新的时间。 名称 - 这是订购产品的用户的名称。 用户 - 这是用户的帐户名称。它可以由用户或管理员进行身份验证。 总计 - 它指定订购产品的总金额。 订单状态 - 定义订单状态,例如处理或待处理或已完成或已取消。 操作 - 您可以在此处对产品执行某些操作,例如 - 查看选项显示帐单信息和送货信息。 编辑选项允许编辑价格,发货信息,账单信息等。 删除选项删除产品订单,付款选项指定产品的付款金额,到期日期等。 评论
由 hrs, 27 八月, 2019 10. Drupal电子商务 - 电子邮件通知 标签 drupal 在本章中,我们将学习如何在向文章发布新评论时向所有者或创建者发送电子邮件通知。电子邮件通知是一封警报,表明新邮件已到达您的邮箱。 以下是在Drupal中设置电子邮件通知的简单步骤。 步骤1 - 单击Drupal上的配置菜单。 步骤2 - 接下来,单击WORKFLOW部分中的Rules链接,如以下屏幕所示。 第3步 - 单击“ 添加新规则”链接。 步骤4 - 接下来,将显示“规则”页面,如以下屏幕所示。 它包含以下字段 - 名称 - 输入名称。 标签 - 输入标签 对事件做出反应 - 选择通知应到达的事件。 按类型限制 - 选择需要过滤值或事件的类型。 填写完所有字段后,单击“ 保存”按钮以保存规则。 步骤5 - 现在,显示编辑反应规则“评论通知”页面。单击“ 操作”部分中的“ 添加操作”链接,如以下屏幕所示。 步骤6 - 显示添加新操作页面。选择发送邮件选项系统部分,从下拉菜单。 步骤7 - 接下来,将显示一个页面,如下面的屏幕所示。 以下是有关前一屏幕中显示的字段的详细信息。 数据选择器 - 从下拉菜单中选择注释→节点→作者→邮件。 主题 - 在“ 值”文本框中输入邮件主题。 替换模式 - 此数据选择输入模式可帮助您找到更复杂的替换模式。您可以选择TOKEN类型并根据需要进行更换。 消息 - 在消息“ 值”文本框中输入邮件的消息正文内容。 FROM - 显示将邮件发送到接收方的邮件地址。 LANGUAGE - 它指定用于获取邮件消息和主题的语言。您可以从下拉菜单中选择语言。 单击“ 保存”按钮以保存通知。 步骤8 - 保存通知后,您将看到以下屏幕。 评论
由 hrs, 25 八月, 2019 9. Drupal 电子商务- 发票生成 标签 drupal 在本章中,我们将研究如何在Drupal中生成发票。发票是一份包含金额和成本,唯一发票编号和税务信息的单据。 以下是在Drupal中生成发票的步骤。 步骤1 - 下载Invoice模块的最新文件并安装在Drupal站点中。 步骤2 - 在模块中启用发票,然后单击保存配置。 第3步 - 转到商店 - >发票。 第4步 - 单击“ 添加发票”。 第5步 - 您可以查看“添加发票”页面。 发票编号# - 输入发送给客户的发票ID号。 公司名称 - 输入应支付发票的公司名称。 发票金额(美元) - 输入客户必须支付的金额。 填写发票明细后,单击“ 添加发票”。 第6步 - 转到商店 - >发票 - >管理发票。在这里,您可以查看待处理和已付款的发票。 复制详细信息列中给出的链接,它会将您重定向到结帐页面。 步骤7 - 您还可以通过导航到给定链接localhost <您的站点名称>用户/发票/付款,它将重定向到付款发票页面,如以下屏幕所示。 在此,您必须输入发票编号,然后单击“ 付款发票”按钮。然后,它会将您重定向到Checkout页面,如以下屏幕所示。您可以输入结算信息,然后单击继续下一步按钮。 第8步 - 您可以查看产品信息以及发票号和公司名称。单击继续下一步按钮。 步骤9 - 最终消息将显示为Checkout完成,如以下屏幕所示。 评论
由 hrs, 25 八月, 2019 8. Drupal电子商务 - 设置付款 标签 drupal 在本章中,我们将研究如何在Drupal中设置Payments。付款是指向公司或个人交换货物,服务或两者的付款过程。 以下是在Drupal中设置付款的步骤。 步骤1 - 从链接下载基本支付模块和PayPal支付模块的最新文件,并安装在您的Drupal站点中。 步骤2 - 接下来,在模块中启用基本付款和PayPal付款,然后单击保存配置。 步骤3 - 单击配置 - >付款,如以下屏幕所示。 第4步 - 单击付款方式。 步骤5 - 然后,单击添加付款方式。 第6步 - 点击PayPal付款标准。 第7步 - 您必须填写PayPal付款表单。 它包含以下字段 - 标题(特定) - 输入特定标题名称。 标题(通用) - 输入通用标题名称。 所有者 - 输入所有者的名称。 PayPal帐户电子邮件地址 - 输入您的电子邮件地址。 服务器 - 从生产或沙箱中选择一个服务器。 捕获 - 选择一种捕获方法,即手动或自动。 步骤8 - 您可以在以下列表中查看上面创建的PayPal。 步骤9 - 接下来,转到结构 - >内容类型。将显示以下页面,单击添加内容类型。 步骤10 - 将内容类型名称创建为Products并保存。 步骤11 - 您可以在列表中查看已创建的产品内容。单击管理字段。 步骤12 - 添加新字段作为立即购买,从下拉列表中选择付款表单以获取数据类型。 单击“ 保存”按钮。 步骤13 - 现在,您可以在列表中查看创建的“ 立即购买”字段。 步骤14 - 转到“ 内容”,单击“ 添加内容”。 第15步 - 单击产品。 步骤16 - 在字段中输入您的产品信息,如以下屏幕所示,然后单击“ 保存”按钮。 第17步 - 您现在可以在您的网站上查看您的内容,如以下屏幕所示。点击付款按钮。 步骤18 - 您将被重定向到场外支付服务器以授权付款。 之后,它将引导您进入PayPal网站以进行将来的付款流程。 第19步 - 付款流程完成后,您可以查看付款详情,如以下屏幕所示。 第20步 - 转到内容 - >付款标签。在这里,您可以查看产品的付款状态。 评论
由 hrs, 24 八月, 2019 7. Drupal 电子商务- 设置运输 标签 drupal 在本章中,我们将研究如何在Drupal中设置Shipping选项。一般而言,运输是指将货物从一个地方运输到另一个地方。要设置运输,您必须安装Commerce Flat Rate和Commerce Shipping模块。在本章中,让我们一起创造免费送货的订单超过100 $,并支付运费的订单少于$ 100。 以下是设置Shipping的简单步骤。 步骤1 - 转到“ 存储”并单击“ 配置”,如以下屏幕所示。 第2步 - 点击运输。 步骤3 - 单击添加统一费率服务,如以下屏幕所示。 步骤4 - 将显示“ 运送”页面,如以下屏幕所示。 它包含以下字段 - 标题 - 提供一个标题,该标题将是此统一费率的行政标题。 显示标题 - 输入将显示在向客户显示的统一费率前端的标题。 说明 - 输入有关统一费率的简要说明。 基本利率 - 提供统一费率的价值。 稍后,单击“ 保存”按钮。 步骤5 - 接下来,您必须通过单击配置组件来配置组件,如以下屏幕所示。 第6步 - 单击“ 添加条件”。 步骤7 - 从下拉列表中选择数据比较,然后单击继续。 步骤8 - 对于数据选择器字段,从下拉列表中选择商业订单...(订单),如以下屏幕所示。 步骤9 - 然后,从下拉列表中选择commerce-order:commerce-order-total:...(订单总计),如下面的屏幕所示。 步骤10 - 从下拉列表中选择commerce-order:commerce-order-total:amount(Amount),然后单击Continue,如下面的屏幕所示。 步骤11 - 接下来,在OPERATOR部分,您必须从下拉列表中选择低于值,然后单击切换到直接输入模式,如下所示。 步骤12 - 在DATA VALUE部分下,提供值(通常这里给出的值是美分(即100美元= 10000 美分))。稍后,单击“ 保存”按钮。 步骤13 - 单击保存更改,如以下屏幕所示。 步骤14 - 对于免费送货,您必须创建另一个统一费率服务(如我们在步骤(3和4)中所做的那样)并为基本费率提供零(0),如以下屏幕所示。 步骤15 - 配置免费送货组件(按照相同的步骤从5到10免费送货),选择' 大于 '并提供10000(即10000美分)值,如下面的屏幕所示,然后单击保存按钮。 步骤16 - 将产品添加到购物车中,价格低于100美元,然后单击“ 结帐”选项卡。 步骤17 - 接下来,填写运输信息,结算信息,然后单击继续下一步,如以下屏幕所示。 步骤18 - 现在您可以看到显示付费送货选项,如下面的屏幕所示。 第19步 - 您可以添加更多产品,以便订单总额超过100美元。 第20步 - 最后,您可以看到免费送货选项超过100美元后显示。 评论
由 hrs, 24 八月, 2019 6. Drupal 电子商务- 接受捐款 标签 drupal 在本章中,我们将学习如何在Drupal中接受捐赠。捐赠是组织或个人向非营利组织或私人基金会赠送的一定数量的礼物。 以下是在Drupal接受捐赠的步骤。 步骤1 - 下载Commerce Custom Line Items模块的最新文件并安装在Drupal站点中。 步骤2 - 在模块中启用Commerce自定义行项目和其他项目,然后单击保存配置。 步骤3 - 接下来,转到Store - > Configuration 第4步 - 单击订单项类型。 步骤5 - 然后,单击添加行项目类型以添加项目。 步骤6 - 现在,将显示添加行项目类型页面,如以下屏幕所示。 它包含如下字段 - 订单项类型名称 - 输入订单项类型的名称。 描述 - 输入有关订单项类型的简短说明。 添加表单提交值 - 在订单页面上输入允许添加订单项的按钮文本。 第7步 - 您可以在列表中查看创建的捐赠项目。单击管理字段。 步骤8 - 添加新字段作为捐赠金额,从下拉列表中选择数据类型的整数。 单击“ 保存”按钮。 步骤9 - 现在,点击保存后,页面将重定向到字段设置页面,如下面的屏幕所示。单击“ 保存字段设置”按钮。 第10步 - 页面被重定向到捐款金额页面。 它包含如下字段 - 标签 - 捐赠类型标识符。 帮助文本 - 输入要呈现给用户的说明。 最小值 - 输入应允许的最小值。 最大值 - 输入应允许的最大值。 前缀 - 输入应该以值为前缀的字符串。 后缀 - 输入应该为值后缀的字符串。 默认值 - 输入默认捐赠金额。 添加到购物车表单设置 - 包括“添加到购物车表单”中的产品系列项目类型以收集信息。 捐赠金额字段设置 - 用户可以为此字段输入的值的数量。 填写页面后,单击“ 保存设置”按钮。 步骤11 - 接下来,您可以在列表中查看创建的捐赠金额字段。 为捐赠创建产品 以下是创建捐赠产品的步骤。 第1步 - 单击Store - > Products 第2步 - 单击添加产品以添加产品。 步骤3 - 接下来,它将打开一个Create Product屏幕,如下面的屏幕所示。 它包含如下字段 - 产品SKU - 它是产品的唯一标识符。 标题 - 它是指定产品的标题。 图像 - 为产品添加图像。 价格 - 输入产品数量。 状态 - 将此字段设置为“ 活动”选项,以便将其添加到购物车。如果将其设置为“ 已禁用”选项,则无法将产品添加到购物车中,并且可能会将产品隐藏在管理产品列表中。 填写完所有详细信息后,单击“ 保存产品”按钮。 第4步 - 现在您可以看到新创建的产品,如下面的屏幕所示。 第5步 - 转到结构 - >内容类型。将显示以下页面,单击添加内容类型。 步骤6 - 添加名称作为捐赠,然后单击保存并添加字段。 步骤7 - 它将打开Manage Fields选项卡,如以下屏幕所示。 将字段添加到Add existing field部分作为Product,并从下拉列表中选择Product reference,然后单击Save按钮。 步骤8 - 现在,将显示产品页面,单击保存设置按钮。 步骤9 - 您可以在列表中查看创建的产品字段。 步骤10 - 现在,单击“ 管理显示”选项卡。单击字段Product右侧的符号,将显示以下屏幕。 在此处,从“ 添加到购物车”行项目类型的下拉列表中选择捐赠。稍后单击“ 更新”按钮,然后单击“ 保存”按钮。 步骤11 - 接下来,单击内容 - >添加内容以添加捐赠信息。 第12步 - 点击捐款。 步骤13 - 输入您的捐款信息,然后单击“ 保存”按钮。 步骤14 - 捐赠页面将显示如下屏幕所示。 在这里,您可以根据自己的意愿填写金额,然后点击添加到购物车按钮。 步骤15 - 现在,您可以在页面右侧的块中查看捐赠金额。单击查看购物车。 步骤16 - 您可以查看购物车捐赠金额,然后单击结帐按钮。 步骤17 - 现在,您可以输入结算信息,然后单击继续下一步。 步骤18 - 下一步是审核订单页面,您可以在其中查看订单信息,然后单击继续下一步。 步骤19 - 消息将显示为Checkout complete,如下面的屏幕所示。 评论
评论