1

Win XP SP3 で wamp を使用し、変更可能なパラメーターを使用して Joomla テンプレートを作成しています。最初にメッセージは

パラメータ ファイル \templates\ssc_2010\params.ini は 書き込み可能です。

変更を加えると、次のメッセージが表示されることを除いて、すべてが期待どおりに機能します。

パラメータ ファイル \templates\ssc_2010\params.ini は 書き込み不可です!

1 つの解決策は、ディレクトリを参照し、ファイルを右クリックしてプロパティを選択し、読み取り専用のチェックを外すことです。再びファイルは書き込み可能ですが、パラメーターを再度変更すると、再び読み取り専用になります。私はかなり怠け者で、これが二度と起こらないようにしたいと思っています。これは過去のプロジェクトで起こっていることに気付きましたが、今ではパラメーターを使って多くの作業をしなければならないので、そのような手作業を行うのはかなり退屈になります:P

4

2 に答える 2

1

メッセージが表示される原因となる Joomla 1.5 のバグがあります。

テンプレート ファイルを保存直前まで書き込み不可にするセキュリティ機能が追加されました。

変更を加えてから、戻ってプレビューを確認してください。変更が実際に行われたことがわかります。

迷惑な書き込み不可メッセージを修正したい場合は、次のコードを

FTP 資格情報を設定した直後の 179 行目付近の administrator/components/controller.php:

        $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 サーバーの構成が原因でプロセスが失敗した場合は、テンプレートに一連の変更を加える前に、警告メッセージが表示されます。:)

PS Joomla をアップグレードするときに変更をやり直すことができるように、このファイルのコピーを個別に保存することを忘れないでください! (彼らがまだこれを自分で修正していない場合。)

于 2010-10-30T22:14:30.820 に答える
0

これは、Windows 内のユーザー権限の問題のようです。編集中のファイルが置かれているディレクトリのセキュリティ権限を調べて、ユーザー「IUSR_xxx」(xxx はコンピュータの名前) が完全な権限を持っていることを確認してください。コントロール。

これでうまくいかない場合は、実行している Windows のバージョンを教えてください...

マット

于 2010-05-13T23:20:15.637 に答える