我在Win XP SP3上使用wamp并使用可更改的参数创建Joomla模板。 最初消息是
参数文件\ templates \ ssc_2010 \ params.ini是 的可写!
一旦我做了更改,一切都按预期工作,除了现在我收到消息:
参数文件\ templates \ ssc_2010 \ params.ini是 的 不可写入的<!/ EM>
一种解决方案是浏览目录,右键单击文件,选择属性,然后取消选中只读。文件再次可写,但一旦我再次修改参数,它就会再次变为只读。我很懒,想要防止这种情况再次发生,我已经注意到在过去的项目中发生了这种情况,但是现在我必须使用参数进行大量工作,因此这样做手工劳动变得非常无聊:P
答案 0 :(得分:1)
Joomla 1.5中存在导致消息显示的错误。
添加了一个安全功能,使模板文件不可写,直到保存之前,它们可以写入,保存,然后再次不可写。
尝试进行更改,然后返回并检查预览。你会看到实际发生了变化。
如果您想修复恼人的不可写消息,请将以下代码添加到
设置FTP凭据后,administrator / components / controller.php在第179行附近:
$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()函数中使用的代码相同。我们只是在编辑屏幕上显示文件状态之前再次执行此操作。如果由于您的Web服务器配置而导致进程失败,那么在您对模板进行一系列更改之前,您将收到警告消息。 :)
P.S。请记住单独保存此文件的副本,以便在升级Joomla时重做更改! (如果他们还没有解决这个问题。)
答案 1 :(得分:0)
这听起来像Windows中的用户权限问题 - 查看您正在编辑的文件所在目录的安全权限,并检查用户“IUSR_xxx”(其中xxx是您计算机的名称) )完全控制。
如果这不起作用,那么您能否告诉我们您正在运行的Windows版本,因为这可能会有所帮助......
马特