1

改善された yii2 の高度なテンプレートを使用しています

問題/解決策に関連するかどうかはわかりませんが、カテゴリに到達するために、変更時にユーザーを選択したカテゴリにリダイレクトするjavascriptを含むフォームがあります。

そのカテゴリ ID 内の投稿にアクセスできる次のコードがあります。localhost:8888/advanced/article/category?id=1 に移動します。

現時点での問題は、カテゴリ ビューからモデルの getCategoryName 関数を呼び出すと、id パラメータがモデル関数に渡されないため、getCategoryName を使用するとデフォルトでスポーツになることです。

 public function actionCategory($id)
{

    $model = new Article();

    $searchModel = new ArticleSearch();

    $query = Article::find()
    ->where(['category' => $id]);

     $dataProvider = new ActiveDataProvider([
                    'query' => $query,
                    ]);

    return $this->render('category', [
        'searchModel' => $searchModel,
        'dataProvider' => $dataProvider,
        'model'=>$model,
    ]);
}

次に、私の見解では、モデル関数の実行に関してある程度機能する以下を使用しますが、パラメーター/現在のカテゴリ ID をモデル関数に渡す方法がわかりません。以下のコードは、単一の記事ビューで _index & に対して機能します。

<?= $model->CategoryName ?>

これは私のモデル関数です

public function getCategoryName($category = null)
{
    $category = (empty($category)) ? $this->category : $category ;

    if ($category === self::CATEGORY_ECONOMY)
    {
        return Yii::t('app', 'Economy');
    }
    elseif ($category === self::CATEGORY_SOCIETY)
    {
        return Yii::t('app', 'Society');
    }
    else
    {
        return Yii::t('app', 'Sport');
    }
}
4

2 に答える 2