Comment activer les liens symboliques après l'installation de SUPEE-9767 V2?

10

Il semble que SUPEE-9767v2 ait désactivé et supprimé l'option "Avancé -> Développeur -> Paramètres du modèle" , qui nous permettrait d'activer / désactiver les liens symboliques.

Quelle est l'autre façon d'activer les liens symboliques après l'installation du correctif V2?

Icône
la source
Comment vous installez SUPEE-9767 V2, pourriez-vous partager les étapes.
Gem

Réponses:

21

Vous ne pouvez le faire que sur DB pour le moment.

1. SQL

Soit ...

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

Ou si l'entrée n'existe pas ...

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

Remarque: N'oubliez pas d'ajouter un préfixe de table si vous en utilisez un.

2. Script

Ou exécutez ceci à partir de la racine magento ...

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

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

3. local.xml

Ajoutez un autre XML au app/etc/répertoire comme local.SUPEE-9767.xmlpour remplacer local.xml.

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

4. "Module"

Créez une mini "extension" avec ceci system.xmlpour ramener l'option de configuration au backend d'administration:

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

Ajouter une classe vide pour backend_modelpour activer le mode Econ valeur de configuration. Merci à @colinmollenhour, au lieu d'une classe vide, réinitialisez simplement le modèle backend au parent.

Téléchargement: https://github.com/sreichel/magento-StackExchange_AllowSymlink

sv3n
la source
9

Le moyen le plus simple est d'utiliser n98-magerun qui est un outil de développement de ligne de commande très utile pour Magento

Activez ou désactivez les liens symboliques pour toutes les vues de magasin avec

n98-magerun.phar dev:symlinks 0

Pour vérifier si les liens symboliques sont activés, utilisez

n98-magerun.phar config:dump | grep symlink
paj
la source
1

DANS le patch 9767 v2

Code ci-dessous Mis à jour dans le fichier

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>

Mettez simplement ce champ <show_in_default>0</show_in_default>à jour1

et vous verrez à nouveau ce réglage

Une fois que vous avez rétabli ce fichier

Murtuza Zabuawala
la source
N'est-ce pas V1? En V2, ces lignes sont de retour, mais elles <show_in_default>sont définies sur 0. Veuillez me corriger si je me trompe.
sv3n
@ sv3n oh mon mauvais, je vois le code v1, donnez-moi 2 min, je
mettrai à
1
@ sv3n J'ai mis à jour la réponse
Murtuza Zabuawala
Vous ne devez pas modifier les fichiers principaux. Vous pouvez facilement remplacer ce paramètre de bien d'autres façons ...
7ochem
1
Il convient de mentionner l'ajout backend_modelqui empêche l'enregistrement de ce champ dans DB.
sv3n