Yii2、クイックスタート。 データベースを使用しない静的ページを備えたYii2の最も簡単なサイト

最初に、このテキストについて長い説明を書き、それを削除しました。 一般に、このテキストは、私のように、最初にやり、次に彼が何をしたかを理解したい人のためのものです。 以下の情報を収集するには、3日間さまざまなソースを調べなければなりませんでした。 だから、誰かが役に立つといいな。 これは良いチートシートです。

1. ドキュメントに記載されているように、サーバーにYii2 Basicをインストールします 。 そこにはすべてが明確に記述されており、ケースについては追加するものがありません。

ここにない限り、OpenServerでローカルに、問題なく、問題なく配信されました。 しかし、リモートで、1GBのRAMを備えたKVM Ubuntu 16.04では、Composerに十分なメモリがありませんでした。 彼は2時間戦ったが、マスターしなかった。 幸いなことに、サイトは単純なコピーによってローカルサーバーからリモートサーバーに簡単に転送できます。

2.繰り返しますが、インストールは基本的なものです (たとえば、 / www / site / basicフォルダーにありますが、簡単にするために、マニュアルで推奨されているように、プロジェクトを作成した基本フォルダーから正確に数え続けます)。

すぐにBasic / webフォルダーをDocumentRootとしてインストールします。これを行う方法はロシア語の公式マニュアルにも記載されています

3. basic / controllers / SiteController.phpを開き 、変更します

public function actions() { return [ 'error' => [ 'class' => 'yii\web\ErrorAction', ], 'captcha' => [ 'class' => 'yii\captcha\CaptchaAction', 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null, ], ]; } 



 public function actions() { return [ 'error' => [ 'class' => 'yii\web\ErrorAction', ], 'captcha' => [ 'class' => 'yii\captcha\CaptchaAction', 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null, ], 'page' => [ 'class' => 'yii\web\ViewAction', ], ]; } 


これにより、静的ページごとに個別のアクションを記述できなくなります。 今後は、基本/ビュー/サイト/ページフォルダから自動的に選択されます。

このフォルダーにone.phpファイルを作成し、 basic / views / site / about.phpファイルの内容をその中にコピーします(明確にするため)。

これで、このファイルの内容は次の場所から入手できます。

http://yoursite.com/index.php?r=site%2Fpage&view=one

したがって、必要なファイルを作成できます。

4. ここに記載されているようにCNCをオンにします

設定は、basic / config / web.phpファイルで行われます。

5. URLを作成するには

http://yoursite.com/index.php?r=site%2Fpage&view=one

のように見えた

http://yoursite.com/one

CNCにこのようなルールを設定する必要があります

「表示」=>「サイト/ページ」、

(注意!!!上記の例の単語ビューは山括弧でとらえるべきです。habrHTMLフィルターがスキップされないため、そのままでは書けませんでしたが、下では-すべては問題ありません、パラドックス... *肩をすくめます*)

つまり、basic / config / web.phpのCNCを担当するコードは次のようになります。

 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'enableStrictParsing' => false, 'rules' => [ '<view>' => 'site/page', ], ], 

6.各ページのメタタグ。 最初は、タイトルのみが設定されています。

 $this->title = '  one.php'; 

たとえば、OGメタタグを追加する必要があります(それが何かわからない場合は、グーグルで検索してください-これはソーシャルネットワークにとってかけがえのないものです)。 以下のような行に直接書き込みます。

 $this->registerMetaTag([ 'property' => 'og:title', 'content' => 'OG-  one.php' ]); 

これと同様に、残りのメタタグを追加します。 不明な点がある場合-registerMetaTag()にドキュメントがあります

7. Ogのトリック:url

ラインの下で

 use yii\helpers\Html; 

ページの一番上に、次を追加します。

 use yii\helpers\Url; 

そして、あなたはog:urlを次のように書きます:

 $this->registerMetaTag([ 'property' => 'og:url', 'content' => Url::to('',true) ]); 

これで、サーバーからサーバーog-urlへの転送は問題ありません。

8.サイトの内部リンクでも同じです。 ヘルパーを接続します(ページの上部):

 use yii\helpers\Url; 

また、たとえば、次のフォームにページ1へのリンクを配置します。

 <?= Url::to(['site/page', 'view' => 'one']); ?> 

CNCに設定したルールに関係なく、正しく表示されるようになりました。

そして、はい、NavBarレイアウトウィジェット( basic / views / layouts / main.php )では、同じリンクは次のようになります。

 ['label' => '  One', 'url' => ['/site/page', 'view' => 'one']], 

それだけです。 Yii2のシンプルなサイトは、すぐに使用できます(顔文字の設定が禁止されているのは残念です)。

何らかの方法で、少なくとも入門部分を含め、Yii2のドキュメントを読む必要があります。 しかし、空のアプリケーションだけでなく、すぐに使用できるWebアプリケーションをすぐに作成する方法がわかりました。 一度このようなガイドがあれば、3日間ネットに座っていませんでしたが、もう少し歩いていたでしょう。 春も同じです。

健康になりましょう!

Source: https://habr.com/ru/post/J323416/


All Articles