من تازه کار با YII شروع کردم و به یک مشکل بزرگ خوردم
من از تصاویر زیادی در سایت استفغاده کردم و میخوام تصاویر رو با تغییر اندازه بکاربران نشون بدم
برای این کار من از اکستنشن ewideimage برای تغییر اندازه استفاده کردم
به این روش که یک کنترلر ساختم به نام image و اکشنی به نام photo که در آن عکس ریسایز شده و نشون میده
مشکل اینجاست که من مثلاً 50 تا عکس دارم از یک گالری از این 50 تا 40 تاشو نشون میدهو و 10 تاش نمیده
جالب که رندم هست هر دفع یک سری رو نشون نمیده
و جالب تر که عکس داره لود میشه مشخصات عکس هم میده اما نمایش داده نمیشه
کد های من [/right]
Action
public function actionPhoto(){
$params['image'] = $_REQUEST['img'];
Yii::import('application.extensions.EWideImage.WideImage');
WideImage::load('..../images/cphoto/'.$params['image'])->resize(360, 268)->output('jpg');
}
من با این اکستنشن تاحالا کار نکردم فقط چند توصیه برای trace خطا می تونم بهتون بکنم :
1 - بررسی کنید که همه فایلهای تصویر دارای یک نوع هستند
2- محدودیتی برای حجم تصاویر در نظر گرفته نشده باشه
3- هر بار که تصویری رو اکستنشن لود می کنه آدرس تصویر رو چک کن ببینید url تولید شده صحیح باشه و به یک فایل تصویر شما به درستی اشاره می کنه
4- آدرس تصاویر تولید شده رو جدا جدا در مرورگر تست کن که همگی با اون آدرس به درستی نشون داده می شند.
5- ترتیب تصاویر رو عوض کن ببین دوباره 40 تای اول رو درست نشون می ده یا نه (بررسی و تست ترتیب)
6- دقت کن که اکستنشن که استفاده می کنی هنوز نسخه نهایی شده نیست
7- یک پروژه جدید ایجاد کن و فقط همین اکستنشن رو داخلش قرار بده و مجددا تست کن شاید اشکال مربوط به یکی از تنظیمات پبکره بندی برنامه باشه
8 - اگه امکانش رو داری سورس اکستنشن رو یه نگاه کن و ارتباطش رو با برنامه ات پیدا کن
اونطوری که من دیدم از این اکستنشن افراد زیادی استفاده نکردند (حد اقل توی یی هنوز طرفدارای زیادی نداره) اگه که محدودیتی نداری از یک اکتنشن مشابه معروفتر استفاده کن
مرسی دوست عزیز مشکل از این اکستنشن نیست چیز های دیچه هم تست کردم مشکل از اینجاس که فکر کدن 50 بار یک کنترلر داره اجرا میشه از این 50 بار 40تاش کار میکنه و عکس رو نشون میده اما 10 تاش نه رندم هم هست ترتیب خواستی نداره
50 یا 100 بار اجرا شدن یک کنترلر نمی تونه مشکل ایجاد کنه. شما تازه به رندم بودنش اشاره کردی باید حتما داخل کدهای اکستنشن رو نگاه کنی ببینید محدودیت از کجا میاد.
احتمالا تنظیم خاصی باید برای از کار انداختن رندم وجود داشته باشه
آقا مشکل رو فهمیدم ازتون ممنونم مشکل از اینجا بود که من از اکستنشن bootstrap استفاده میکردن و این بصورت preload بود و در قیمت asset کردن فایل های js , css بعضی وقتا اررور میداد من یک سر کردمش درست شد
[font="Tahoma"]بله همیشه در مواردی که تغییری رو در پروژه اعمال می کنید بایستی محتوای asset رو کاملا حذف کنی. خیلی از موارد تغییرات در یک فایل asses کش می شه.[/font]