1

カテゴリを作成できる管理パネルがあります。カテゴリを作成すると、htdocsにフォルダが自動作成されます...たとえば... categorie / first、categorie/secondなど

そして、私がやりたいのは、これらのフォルダーを作成するときに、必要なコードを使用してindex.phpを自動作成することです...最初のバリアントはファイル関数を使用しています...しかし、文字列phpコマンドを入力するにはどうすればよいですか?第二に..そして私は正しいものだと思います、このテンプレートを作成することです..そして私がこれらのフォルダを作成するときそれは私が作成したディレクトリにコピーします...

どう思いますか?

編集...しかし、現在のカテゴリを開いた状態でこのコード変数に格納する必要があります。

4

2 に答える 2

1

1つの解決策は、次のようにコードを記述することです。

// Creates a template of category
$page = <<< EOT

<html>
    <head>
        <title>Category {$category_name}</title>
        (...)

    </body>
</html>
EOT;

$f = fopen($new_directory . "/index.php", 'w');
fwrite($f, $page);
fclose($f);

EOTを置くことを忘れないでください。ドキュメントの左端にあります。詳細については、ヒアドキュメントの構文を参照してください。

このコードはサンプルです。もちろん、fopen/fwriteが成功したかどうかを確認する必要があります。

別の解決策は、テンプレートトークンを使用して別のファイルにテンプレートを含めることです。

このようにして、以下を含むtemplate_category.txtという名前のファイルが作成されます。

<html>
    <head>
        <title>Category %category_name%</title>
        (...)

    </body>
</html>

次に、PHPスクリプトで、テンプレートトークンを値に置き換えます。

$template = file_get_contents("template_category.txt");

$to_replace = array(
    '%category_name%',
    (...)
);

$replace_by = array(
    $category_name,
    (...)
);

$page = str_replace($to_replace, $replace_by, $template);

そして、上記のようにindex.phpに$pageを書き込みます。

于 2012-09-09T15:08:35.087 に答える
0

php-およびhtml-コードを含むテンプレートファイルを試して、次のようなトークンを使用して必要な変数を指定します。

in template.php
<?php
$category_id = #TOKEN_CATEGORY_ID#;
...
?>

次に、このファイルを新しいカテゴリのフォルダにコピーし、#TOKEN_CATEGORY_ID#でpreg_replace()を実行します。

于 2012-09-09T15:19:46.143 に答える