有多个开发阶段,我想将一些 magento 配置保存在一个文件中,而不是在数据库中,所以我可以让我的开发版本和生产版本同步。
所以我需要将“基本网址”放在不同的地方,而不是数据库,因为我想将它从生产导出到开发
可能吗?
有多个开发阶段,我想将一些 magento 配置保存在一个文件中,而不是在数据库中,所以我可以让我的开发版本和生产版本同步。
所以我需要将“基本网址”放在不同的地方,而不是数据库,因为我想将它从生产导出到开发
可能吗?
这是可能的:
<default>
<web>
<unsecure>
<base_url>https://foo.dev/</base_url>
</unsecure>
<secure>
<base_url>https://foo.dev/</base_url>
</secure>
</web>
</default>
<websites>
<ws_code>
<web>
<unsecure>
<base_url>http://ws.foo.dev/</base_url>
</unsecure>
<secure>
<base_url>https://ws.foo.dev/</base_url>
</secure>
</web>
</ws_code>
</websites>
<stores>
<store_code>
<web>
<unsecure>
<base_url>http://store.foo.dev/</base_url>
</unsecure>
<secure>
<base_url>https://store.foo.dev/</base_url>
</secure>
</web>
</store_code>
</stores>
但是,如果有人曾System > Configuration > Web
在管理员中保存(或已保存)该部分,则该范围的配置文件中的值将不适用。
有几种策略可以保护您的条目
使用基于文件的配置方法并通过管理员用户角色禁用对 Web 部分的访问(适用于所有用户)。警告:您需要在配置中提供所有配置选项。
使用设置脚本 (PHP) 将base_url
条目写入表,并保护它们不被在事件的事件区域core_config_data
下配置的观察者覆盖。adminhtml
core_config_data_save_before
您还可以将策略 #2 中的观察者保护与策略 #1 中的基于文件的配置结合起来。