2010-05-04 4 views
1

Я использую wamp на Win XP SP3 и создаю шаблон Joomla с изменяемыми параметрами. первоначально сообщениеПараметры шаблона Joomla и params.ini - файл становится неприемлемым после сохранения

Файл параметров \ Templates \ ssc_2010 \ params.ini является записи!

раз я делаю изменения все работает, как и ожидалось, за исключением того, что теперь я получаю сообщение:

Параметр файла \ шаблоны \ ssc_2010 \ params.ini является недоступна для записи!

Одним из решений является Брови в каталог, щелкните правой кнопкой мыши файл, выберите Свойства и снимите флажок только для чтения. Снова файл доступен для записи, но как только я снова изменю параметры, он снова будет прочитан. Я довольно ленив и хотел бы предотвратить это снова, я заметил, что это происходит в прошлых проектах, но теперь мне приходится много работать с параметрами, поэтому становится довольно скучным делать ручной труд: P

ответ

1

Существует ошибка в Joomla 1.5, которая вызывает сообщение для отображения.

Добавлена ​​функция безопасности, которая делает файлы шаблонов невоспроизводящимися вплоть до сохранения, когда они сделаны доступными для записи, сохранены, а затем снова стали неприемлемыми.

Попробуйте внести изменения, затем вернитесь и проверьте предварительный просмотр. Вы увидите, что это изменение было действительно сделано.

Если вы хотите, чтобы исправить досадное незаписываемые сообщение, добавьте следующий код в

администратора/компоненты/controller.php вокруг линии 179, только после установки учетных данных 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')); 
    } 

Это будет сделать файл доступным для записи во время процесса загрузки, и до того, как статус файла будет опубликован в шаблоне.

Тогда для безопасности, в случае, если экран редактирования закрывается без сохранения, поиск по следующим направлениям:

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

и вставьте следующий код сразу после этих строк, но до закрывающей скобки:

 // 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')); 
    } 

Это сделает файл неприемлемым снова.

Это тот же код, который используется в функции saveTemplate(). Мы просто делаем это снова, прежде чем отображать статус файла на экране редактирования. Если процесс завершился неудачно из-за конфигурации вашего веб-сервера, вы получите предупреждающие сообщения, прежде чем вы внесете кучу изменений в свой шаблон.)

P.S. Не забудьте сохранить копию этого файла отдельно, чтобы вы могли изменить настройки при обновлении Joomla! (если они еще не зафиксировали это сами.)

0

Это звучит как проблема с правами пользователя в Windows - посмотрите разрешения безопасности для каталога, в котором находится файл, который вы редактируете, и убедитесь, что пользователь «IUSR_xxx» (где xxx - это имя вашего компьютера) имеет полный контроль.

Если это не работает, то вы можете сказать нам, какая версия Windows, вы работаете, как это может помочь ...

Matt

+0

windows xp, это не сработало, я дал всем пользователям полный контроль. – Moak

+0

Какая версия xp - домашняя или про? Вы должны попытаться явно предоставить пользователю IUSR полный контроль (а не только объект «каждый»). Я знаю, что это звучит глупо, но это может сработать! – Matti