2010-05-04 38 views
1

J'utilise wamp sur Win XP SP3 et la création d'un modèle Joomla avec des paramètres modifiables. d'abord le message estJoomla paramètres de modèle et params.ini - fichier devient non-modifiable après enregistrement

Le fichier de paramètres \ templates \ ssc_2010 \ params.ini est inscriptible!

une fois que je fais ça change tout fonctionne comme prévu, sauf que maintenant je reçois le message:

Le fichier paramètre \ templates \ ssc_2010 \ params.ini est unwritable!

Une solution consiste à sourcils dans le répertoire, cliquez droit sur le fichier, sélectionnez Propriétés, et décochez la case en lecture seule. Encore une fois le fichier est accessible en écriture, mais une fois que je modifie à nouveau les paramètres, il est à nouveau lu. Je suis assez fainéant et voudrais éviter que cela ne se reproduise, j'ai remarqué que cela se passait dans des projets passés, mais maintenant je dois travailler beaucoup avec des paramètres donc ça devient assez ennuyeux de faire du travail manuel comme ça: P

Répondre

1

Il y a un bug dans Joomla 1.5 qui provoque le message être affiché.

Une caractéristique de sécurité a été ajoutée qui rend les fichiers modèles non-éditables jusqu'au moment de la sauvegarde, où ils sont rendus accessibles en écriture, sauvegardés, puis rendus de nouveau non-éditables. Essayez de faire une modification, puis revenez en arrière et vérifiez l'aperçu. Vous verrez que le changement a été fait.

Si vous voulez corriger le message ennuyeux unwritable, ajoutez le code suivant à

administrator/components/controller.php autour de la ligne 179, juste après avoir réglé les informations d'identification FTP:

 $file = $client->path.DS.'templates'.DS.$template.DS.'params.ini'; 

    // Try to make the params file writeable 
    if (!$ftp['enabled'] && JPath::isOwner($file) && !JPath::setPermissions($file, '0755')) { 
     JError::raiseNotice('SOME_ERROR_CODE', JText::_('Could not make the template parameter file writable')); 
    } 

Cette volonté rendre le fichier accessible en écriture pendant le processus de chargement d'édition et avant que l'état du fichier ne soit publié dans le modèle.

Ensuite, pour la sécurité, dans le cas où l'écran d'édition est fermé sans enregistrer, rechercher les lignes suivantes:

 require_once (JPATH_COMPONENT.DS.'admin.templates.html.php'); 
    TemplatesView::editTemplate($row, $lists, $params, $option, $client, $ftp, $template); 

et collez le code suivant juste après ces lignes, mais avant l'accolade de fermeture:

 // Try to make the params file unwriteable 
    if (!$ftp['enabled'] && JPath::isOwner($file) && !JPath::setPermissions($file, '0555')) { 
     JError::raiseNotice('SOME_ERROR_CODE', JText::_('Could not make the template parameter file unwritable')); 
    } 

Cela rendra le fichier non modifiable à nouveau.

Il s'agit du même code que celui utilisé dans la fonction saveTemplate(). Nous le faisons à nouveau avant d'afficher l'état du fichier sur l'écran d'édition. Si le processus échoue en raison de la configuration de votre serveur Web, vous recevrez des messages d'avertissement AVANT d'avoir apporté un tas de modifications à votre modèle. :)

P.S. N'oubliez pas d'enregistrer une copie de ce fichier séparément, afin de pouvoir refaire les changements lors de la mise à niveau de Joomla! (si elles ne l'ont pas encore résolu elles-mêmes.)

0

Cela ressemble à un problème de droits d'utilisateur dans Windows - regardez les autorisations de sécurité pour le répertoire dans lequel se trouve le fichier que vous éditez et vérifiez que l'utilisateur "IUSR_xxx" (où xxx est le nom de votre ordinateur) a controle total.

Si cela ne fonctionne pas, pouvez-vous nous dire quelle version de Windows que vous utilisez comme cela peut aider ...

Matt

+0

Windows XP, cela n'a pas fonctionné, j'ai donné à tous les utilisateurs un contrôle total. – Moak

+0

Quelle version de xp - home ou pro? Vous devriez essayer explicitement de donner à l'utilisateur IUSR un contrôle total (pas seulement l'objet "tout le monde") - je sais que ça sonne idiot mais ça pourrait bien marcher! – Matti