تالار گفتمان nCIS.ir

نسخه‌ی کامل: خطا در نمایش view (حل شد)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام دوستان

آیا دستور زیر خطا دارد؟
چون بعد کلیک بر روی لینک ساخته شد، صفحه view پیدا نمیشود.

<?= Html::a( '<span class="fa fa-commenting-o label-lg"></span>',['/products/view','id'=>$model->id],['title'=>'توضیحات بیشتر برای این محصول']) ?>

اینم کنترلر:
namespace appcontrollers;

use Yii;
use yiiwebHttpException;
use appcomponentsMyController;
use appmodelsProducts;
use yiihelpersVarDumper;

class ProductsController extends MyController
{

   public function actionView($id) {
       $model=$this->loadModel($id);
       return $this->render('view', ['model'=>$model]);
   }

   private function loadModel($id) {
       if(!$model=Products::findOne($id)){
           throw new HttpException(404,'چنین محصولی وجود ندارد.');
       }
       return $model;
   }

}

ویو هم ساخته شده و وجود داره.

متشکرم.
پوشه views توی روت پروژتون داخلش پوشه ای بنام Products ساختین؟ بعد توی اون پوشه فایلی به اسم view هست؟ اینا رو چک کنید اگه مشکلی نداره ارورتون رو اینجا بزارین تا بررسی کنیم
دقت کنید که باید اسم پوشه توی مسیر views بصورت products وارد بشه نه Products (تماماً حروف کوچک باشه) و اسم فایل هم view.php یعنی کلاً ویو باید توی مسیر views/products/view.php قرار داشته باشه.
این مواردی که فرمودین رعایت شده.
لینک ساخته میشه ولی عمل نمیکنه.
خطای 404 رو نشون میده با پیام صفحه ای یافت نشد.
عکس از صفحه خطا بگذارین لطفاً.
عکس خطا:
البته من فایل ویو و لینک و اکشن رو به index تغییر نام دادم.
مشکل از آدرستون هست. این عکسی که دادید آدرسش اینه localhost/shop/web/index.php?r=products%2Findex%id=5 که بین کنترلر و اکشن %2F هست که باید / باشه. مشکل از آدرس دهی دکمه تون هست.
نه مشکل اون نیست چون بقیه لینکها هم %2F رو دارند ولی درست کار میکنند و خطایی پیش نمیاد.

<a href="/shop/web/index.php?r=products%2Findex&amp;id=5" title="توضیحات بیشتر برای این محصول"><span class="fa fa-commenting-o label-lg"></span></a>
چرا اسم فایل کنترلرتون ProducsControllers هست؟ باید ProductsController باشه.
مشکل حل شد.
خیلی ممنون