8

私は Yii フレームワークの初心者で、モジュール ベースの CRM を作成しています。さまざまなチュートリアルを使用して独自のテーマを作成できますが、今は 1 点で行き詰っています。

私のテーマでは、ユーザーがログインするまで、アプリ全体で上部<nav>と左側が同じ<nav>ままです。そのため、これをmain.phpの一部にしましたが、ログイン ページには表示するボタンはなく、単純なログイン フォームだけです。 2 つのテキストフィールドを使用します。

カスタム テーマを使用してアプリケーションにこのフォームを実装するにはどうすればよいですか?

その特定のアクションでレイアウトを定義しようとしましたが、成功しませんでした。どんな助けでも大歓迎です。

4

2 に答える 2

13

ビューにカスタム レイアウトを使用するのが正しい方法です。コントローラ アクションまたはビューでレイアウトを設定できます。

$this->layout = "//layouts/mylayout";

デフォルトのレイアウトcolumn1.phpcolumn2.phpmain.phpレイアウト ファイルを使用することに注意してください。

于 2012-04-25T11:17:04.437 に答える
7

このステップバイステップを試してください:

  1. 新しいテーマを作成

    新しいテーマを作成し、これをディレクトリ Application_Root/themesに追加できます。

    themes/classic ディレクトリを見て、ディレクトリの構造を把握してください。重要なファイル (この段階で) は次のとおりです:- Application_Root/themes/views/layouts/main.php

  2. テーマの内容をカスタマイズする

    css、image、js ファイルなどを正しいディレクトリにコピーし、main.php ファイルを好みに合わせて変更します。たとえば、あなたの main.php が

    <link href="css/mystyle.css" rel="stylesheet">

    次に、ファイル Application_Root/css/mystyle.cssが作成されます。

  3. コンテンツ プレースホルダーを作成します。

    main.php のどこかに、動的テキスト用のプレースホルダーがあり、これは によって指定されます。

    <?php echo $content; ?>

  4. テーマを使用するように yii に伝えます。ファイルApplication_Root/protected/config/main.phpを変更して、最後の行 (閉じ括弧を含む) の直前に次の行を追加します。

    'テーマ'=>'調査ハブ'

  5. レイアウト プレースホルダーを作成します。

    main.php の $contents 部分に書き込まれる HTML セグメントを作成します。たとえば、one_column.php と呼びます。したがって、ファイル パスはApplication_Root/themes/views/layouts/one_column.phpになります。このファイルで、動的テキストを配置する場所にプレースホルダーを作成します。

    <?php echo $content; ?>

  6. レイアウトを使用するように Yii に伝えます。

    ファイルApplication_Root/protected/components/Controller.phpで、レイアウト変数を次のように追加または変更します。

    public $layout='//layouts/one_column.php';

  7. ページを更新

于 2012-04-29T09:21:47.780 に答える