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?


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


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

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


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.