Jak włączyć dowiązania symboliczne po instalacji SUPEE-9767 V2?

10

Wygląda na to, że SUPEE-9767v2 wyłączył i usunął opcję w „Zaawansowane -> Deweloper -> Ustawienia szablonów” , która pozwoliłaby nam włączyć / wyłączyć dowiązania symboliczne.

W jaki inny sposób można włączyć dowiązania symboliczne po instalacji łatki V2?

Ikona
źródło
Jak zainstalować SUPEE-9767 V2, czy możesz podzielić się krokami.
Klejnot

Odpowiedzi:

21

W tej chwili możesz to zrobić tylko na DB.

1. SQL

Zarówno ...

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

Lub jeśli wpis nie istnieje ...

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

Uwaga: nie zapomnij dodać prefiksu tabeli, jeśli go używasz.

2. Skrypt

Lub uruchom to z rootem Magento ...

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

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

3. local.xml

Dodaj kolejny XML do app/etc/katalogu, local.SUPEE-9767.xmlaby zastąpić local.xml.

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

4. „Moduł”

Utwórz mini „rozszerzenie” za pomocą tego, system.xmlaby przywrócić opcję konfiguracji do administracyjnego zaplecza:

<?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>

Dodaj pustą klasę, backend_modelaby umożliwić zapisanie wartości konfiguracji. Dzięki @colinmollenhour zamiast pustej klasy wystarczy zresetować model zaplecza do nadrzędnego.

Pobierz: https://github.com/sreichel/magento-StackExchange_AllowSymlink

sv3n
źródło
9

Najprostszym sposobem jest użycie n98-magerun, który jest bardzo przydatnym narzędziem programistycznym dla Magento

Włącz lub wyłącz dowiązania symboliczne dla wszystkich widoków sklepu za pomocą

n98-magerun.phar dev:symlinks 0

Aby sprawdzić, czy dowiązania symboliczne są włączone, użyj

n98-magerun.phar config:dump | grep symlink
paj
źródło
1

W patchu 9767 v2

Poniżej kodu Zaktualizowano w pliku

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>

Zaktualizuj to pole <show_in_default>0</show_in_default>do1

i zobaczysz to ustawienie ponownie

Po zakończeniu przywróć ten plik

Murtuza Zabuawala
źródło
Czy to nie jest V1? W wersji 2 wiersze te są z powrotem, ale <show_in_default>są ustawione na 0. Proszę mnie poprawić, jeśli się mylę.
sv3n
@ sv3n oh Mój zły Widzę kod v1, daj mi 2 minuty Zaktualizuję swoją odpowiedź
Murtuza Zabuawala
1
@ sv3n Zaktualizowałem odpowiedź
Murtuza Zabuawala
Nie powinieneś edytować podstawowych plików. Możesz łatwo zastąpić to ustawienie na wiele innych sposobów ...
7ochem
1
Warto wspomnieć o dodanym, backend_modelktóry uniemożliwia zapisanie tego pola w DB.
sv3n