安装SUPEE-9767 V2后如何启用符号链接?


10

SUPEE-9767v2似乎已禁用并删除了“高级->开发人员->模板设置”中的选项,该选项使我们可以启用/禁用符号链接。

安装V2补丁后启用符号链接的另一种方法是什么?


如何安装SUPEE-9767 V2,可以共享这些步骤。
宝石

Answers:


21

目前,您只能在DB上执行此操作。

1. SQL

要么...

UPDATE core_config_data SET value = '1' WHERE path = 'dev/template/allow_symlink';

或者如果条目不存在...

INSERT INTO core_config_data (config_id, scope, scope_id, path, value)
VALUES (NULL , 'default', '0', 'dev/template/allow_symlink', '1');

注意:如果使用表前缀,请不要忘记添加表前缀。

2.脚本

或者从magento根目录运行它...

<?php
require_once('./app/Mage.php');
Mage::app();

Mage::getConfig()->saveConfig('dev/template/allow_symlink', '1', 'default', 0);

3. local.xml

将另一个XML添加到app/etc/目录中local.SUPEE-9767.xml以覆盖local.xml

<?xml version="1.0"?>
<config>
    <default>
        <dev>
            <template>
                <allow_symlink>1</allow_symlink>
            </template>
        </dev>
    </default>
</config>

4.“模块”

创建一个迷你“扩展名”,system.xml以将配置选项带回到管理后端:

<?xml version="1.0"?>
<config>
    <sections>
        <dev>
            <groups>
                <template>
                    <show_in_default>1</show_in_default>
                    <fields>
                        <allow_symlink>
                            <show_in_default>1</show_in_default>
                            <backend_model>core/config_data</backend_model>
                        </allow_symlink>
                    </fields>
                </template>
            </groups>
        </dev>
    </sections>
</config>

添加一个空类,backend_model启用保存配置值。感谢@colinmollenhour,而不是一个空的类,只需将后端模型重置为父模型即可。

下载: https : //github.com/sreichel/magento-StackExchange_AllowSymlink


9

最简单的方法是使用n98-magerun,这是Magento的非常有用的命令行开发工具

启用或禁用所有商店视图的符号链接

n98-magerun.phar dev:symlinks 0

要检查符号链接是否已启用,请使用

n98-magerun.phar config:dump | grep symlink

1

9767 v2补丁中

下面的代码在文件中更新

app/code/core/Mage/Core/etc/system.xml

--- app/code/core/Mage/Core/etc/system.xml
+++ app/code/core/Mage/Core/etc/system.xml
@@ -601,18 +601,19 @@
                 <label>Template Settings</label>
                 <frontend_type>text</frontend_type>
                 <sort_order>25</sort_order>
-                    <show_in_default>1</show_in_default>
-                    <show_in_website>1</show_in_website>
-                    <show_in_store>1</show_in_store>
+                    <show_in_default>0</show_in_default>
+                    <show_in_website>0</show_in_website>
+                    <show_in_store>0</show_in_store>
                 <fields>
                     <allow_symlink translate="label comment">
                         <label>Allow Symlinks</label>
                         <frontend_type>select</frontend_type>
                         <source_model>adminhtml/system_config_source_yesno</source_model>
+                            <backend_model>adminhtml/system_config_backend_symlink</backend_model>
                         <sort_order>10</sort_order>
-                            <show_in_default>1</show_in_default>
-                            <show_in_website>1</show_in_website>
-                            <show_in_store>1</show_in_store>
+                            <show_in_default>0</show_in_default>
+                            <show_in_website>0</show_in_website>
+                            <show_in_store>0</show_in_store>
                         <comment>Warning! Enabling this feature is not recommended on production environments because it represents a potential security risk.</comment>
                     </allow_symlink>
                 </fields>

只需将此字段更新 <show_in_default>0</show_in_default>1

然后您将再次看到该设置

完成还原后,此文件


这不是V1吗?在V2中,这些行返回了,但是<show_in_default>设置为0。如果我错了,请更正我。
sv3n

@ sv3n哦,很糟糕,我看到了v1代码,给我2分钟,我将更新我的答案
Murtuza Zabuawala

1
@ sv3n我已经更新了答案
Murtuza Zabuawala

您不应该编辑核心文件。您可以通过许多其他方式轻松地覆盖此设置...
7ochem

1
值得一提的是backend_model,它阻止将字段保存到数据库。
sv3n
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.