ورود

View Full Version : نمایش اطلاعات یکسان از مدل به چند گروه مختلف (کنترلرهای دیگر)



IMANAZADI
سه شنبه 03 اسفند 1395, 19:50 عصر
با سلام

دوستان من یجای بدجوری گیر کردم و رفته رو مخم

دارم رو یک پروژه کار میکنم که شامل چند گروه با سطح دسترسی های مختلف می باشد

توضیح : این یک وب اپلیکشن در سطح سازمان می باشد

گزوه ها شامل کارفرما ، پیمانکار

گروه کارفرما حود تقسیم به چند گروه با سطح دسترسی ها مختلف میشه 1- گروهی که دیتا وارد میکنند 2- گروهی که فقط گزارشی ها رو می بینند 3- گروهی که دسترسی کامل دارند

گروه پیمانکار : سطح دسترسی در حد دیدن گزارشات

حالا گزارشاتی که افراد پیمانکار می بینند با گزارشی که گروه کارفرما یعنی همون گزینه (2) می بینند غیر از بخش کوچکی دقیقا شبیه هستند

حالا سوالم اینه برای نشون دادن این گزارش باید دقیقا دوبار کد یکسان در دو متد مختلف در کنترلر بنویسم یا راهکار دیگه ایی هست ؟؟

کلا زمانیکه قرار هست یکسری اطلاعات یکسان جز یکسری تغییرات کوچیک مثل نشون ندادن چند ستون ، از مدل خونده بشن و به چند گروه مختلف یا در چند کنترلر مختلف استفاده و نشون داده بشه راهکار اصولی چیه ؟؟؟

plague
چهارشنبه 04 اسفند 1395, 08:22 صبح
والله با توجه به صحبت های شما باید 2 تا view بسازی نه اینکه 2 تا کد کنترلر
چون نمایش اطلاعات توی ویو انجام میشه نه کنترلر و خوندنشون هم از مدل .... عملا اینجا کنترلر نقش خاصی نداره فقط داده ها رو از مدل میگیره میفلرسته به ویو , مگه اینکه شما کامل توضیح نداده باشی این بخش رو
اگه تغیرات کمه توی ویو میتونی شرط بزازری که اگه فلان گروه کاربری بود این ضشخص فلان ستون رو نشون نده
اگرم تغییرات خیلی زیادن 2 تا ویو متفقاوت بساز برای 2 گروه

IMANAZADI
چهارشنبه 04 اسفند 1395, 13:05 عصر
خوب حرف شما صحیح ولی کد نشون دادن ویو کجاست ؟؟؟

قبول داری که توی action کنترلر هست ، واینکه دو تا صفحه رو نمیشه با یک action نشون داد پس باید دوتا action توی کنترلر و دو تا ویو ساخت

numberone1
چهارشنبه 04 اسفند 1395, 14:41 عصر
به نظرم جواب plague (http://barnamenevis.org/member.php?123420-plague) درسته.
وقتی میخوای ویو رو تو کنترلر فراخوانی کنی با یه شرط چک میکنی کدوم ویو لود شه (اگر تفاوت دو تا فایل view زیاده)
اگر هم تفاوتشون کمه مثلا یه ستون دو ستون که به نظر من جدول و باید کلا سمت کنترلر بسازی و اونجا هم دیگه موقع foreach و ساخت ارایه جدول کم و زیاد کردن ستون ها کاری نداره
کدایگنایتر یه جدول html داخلی داره که میتونی باهاش جدولتو بسازی و custom هم بکنی. از گرید ها هم میتونی استفاده کنی

plague
پنج شنبه 05 اسفند 1395, 08:30 صبح
خوب حرف شما صحیح ولی کد نشون دادن ویو کجاست ؟؟؟

قبول داری که توی action کنترلر هست ، واینکه دو تا صفحه رو نمیشه با یک action نشون داد پس باید دوتا action توی کنترلر و دو تا ویو ساخت

چرا نشه ؟ توی همون یدونه اکشنت با شرط میتونی ویو رو لود کنی (2 تا رو همزمان که نمیخای نشون بدی یا این هستش یا اون ! )


if($user_type == 'a' )
$this-load->view('a-view');
if($user_type == 'b' )
$this-load->view('b-view');